Исторически для анализа работы агента и службы обновления Windows используется текстовый файл WindowsUpdate.log. Однако в Windows 10 (Windows Server 2016/2019) вместо привычного текстового файла логи Windows Update ведутся в формате Event Tracing for Windows (ETW). За счет этого увеличивается быстродействие подсистемы записи логов и экономится место на диске.
Таким образом, события Windows Update теперь больше не записываются в реальном времени в файл %windir%\WindowsUpdate.log. И хотя сам файл все еще присутствует в корне папки Windows, в нем лишь указано, что для сбора логов теперь применяется формат ETW.
Windows Update logs are now generated using ETW (Event Tracing for Windows). Please run the Get-WindowsUpdateLog PowerShell command to convert ETW traces into a readable WindowsUpdate.log. For more information, please visit http://go.microsoft.com/fwlink/?LinkId=518345
Главное неудобство для администраторов – теперь вы не можете быстро проанализировать текстовый файл WindowsUpdate.log, найти ошибки в службе агента обновлений Windows (см. полный список ошибок Windows Update), проверить настройки WSUS и проанализировать историю установки обновлений.
Вы можете сконвертировать события ETW в привычный текстовый формат WindowsUpdate.log для более удобного анализа событий службы обновлений. Для этого используется командлет PowerShell — Get-WindowsUpdateLog. Данный командлет позволяет собрать информацию со всех .etl файлов (хранятся в каталоге C:\WINDOWS\Logs\WindowsUpdate) и сформировать один файл WindowsUpdate.log.
Чтобы сформировать файл WindowsUpdate.log и поместить его в каталог C:\PS\Logs, выполните следующую команду в консоли PowerShell:
Get-WindowsUpdateLog -logpath C:\PS\Logs\WindowsUpdate.log
Get-WindowsUpdateLog
может появиться ошибка отсутствующего файла SymSrv.dll:
Copy-Item : Cannot find path 'C:\Program Files\Windows Defender\SymSrv.dll' because it does not exist. At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\WindowsUpdate\WindowsUpdateLog.psm1:56 char:5
Файл “C:\Program Files\Windows Defender\SymSrv.dll” обычно отсутствует, если на сервере не установлен антивирус Windows Defender.
Чтобы исправить ошибку, вы можете установить Defender, скопировать файл SymSrv.dll с другого Windows Server 2016/ Windows 10 или поиском найти его в каталоге “C:\Windows\WinSxS\” (у меня каталог назывался C:\Windows\WinSxS\amd64_windows-defender-service-cloudclean_…) и скопировать его в папку C:\Program Files\Windows Defender.
В старых версиях Windows 10 при первом запуске командлет Get-WindowsUpdateLog скачает и установит сервер символов Microsoft (Microsoft Internet Symbol Store). В последних версиях Windows 10 выполняется онлайн доступ к серверу символов Microsoft в Azure. Затем командлет:
- Собирает данные из всех .etl файлов;
- Преобразует данные в CSV (по-умолчанию) или XML формат;
- Переконвертирует данные из промежуточных файлов и добавляет их в текстовый файл журнала, указанного в параметре LogPath (если параметр LogPath не задан, файл WindowsUpdate.log создается на рабочем столе пользователя, запустившего команду).
Unknown( 10): GUID=5e0ee4cc-3618-f43a-06ca-9d3b0dabc11a (No Format Information found).
Это значит, что у вас не установлен сервер символов Windows Symbol (сейчас нельзя скачать отдельную программу установки Windows symbols, т.к. они автоматически загружаются из хранилища символов в Azure). Для изолированных сред вы можете использовать офлайн версию сервера символов согласно статье Offline Symbols for Windows Update.
Откройте файл журнала с помощью такой команды PowerShell:
Invoke-Item -Path C:\PS\Logs\WindowsUpdate.log
Анализировать получившийся файл WindowsUpdate.log довольно сложно, т.к. в нем собираются данные из множества источников:
- AGENT- события агента Windows Update;
- AU – автоматическое обновление;
- AUCLNT- взаимодействие с пользователем;
- HANDLER- управление установщиком обновлений;
- MISC- общая информация;
- PT- синхронизация обновлений с локальным хранилищем;
- REPORT- сбор отчетов;
- SERVICE- запуск/выключение службы wuauserv;
- SETUP- установка новых версий клиента Windows Update;
- DownloadManager – загрузка обновлений в локальных кэш;
- Handler, Setup – заголовки установщиков (CBS и т.п.);
- И т.д.
Вы можете выбрать последние 30 событий от агента обновления Windows (agent) с помощью простого регулярного выражения:
Select-String -Pattern '\sagent\s' -Path C:\PS\Logs\WindowsUpdate.log | Select-Object -Last 30
Можно отфильтровать события в логе по нескольким источникам:
Select-String -Pattern '\sagent\s|\smisc\s' -Path c:\PS\Logs\WindowsUpdate.log | Select-Object -Last 50
Аналогично вы можете искать события по номеру KB, ошибка (строки FAILED, Exit Code, FATAL).
Также вы можете сформировать файл WindowsUpdate.log для удаленного компьютера/сервера:
Get-WindowsUpdateLog -ETLPath \\PC221\C$\windows\Logs\WindowsUpdate -LogPath C:\PS\Logs\windowsupdatePC221.log
Также для анализа работы службы обновлений Windows может быть полезны журналы Event Viewer в разделе Applications and Services Logs -> Microsoft -> Windows –> WindowsUpdateClient -> Operational.
Не могу понять и найти — где бы посмотреть — откуда черпались обновления.
Все логи, которые доступны к просмотру — это информации не содержат. Отладить WSUS сложно без этого.
Странно — в логе windowsupdate.log должны быть видны url, откуда качались обновления .
Денис, привет!
Возможно тебе поможет утилита Windows Update MiniTool, там есть возможность скопировать ссылки в буфер обмена. Вот пример:
[ Microsoft Silverlight (KB3193713) ]
http://download.windowsupdate.com/d/msdownload/update/software/ftpk/2016/10/silverlight_a055deac127335f6c37683e8a3490413810b4620.exe
[ Обновление определения для Windows Defender – КБ2267602 (Определение 1.233.535.0) ]
http://download.windowsupdate.com/d/msdownload/update/software/defu/2016/11/am_delta_patch_1.233.526.0_a9900f45fd6d7dc4fc27c50042e87e67753e712c.exe
Её возможности думаю ты оценишь, вот ссылка:
https://winitpro.ru/index.php/2015/12/30/utilita-windows-update-minitool/
Она бесплатна. 2,32 МБ в архиве.
Программа предназначена для исправления урезанного функционала Windows Update в Windows 10.
Windows Update MiniTool позволяет:
Выполнять проверка обновлений
Скачивание обновлений
Установку обновлений
Удаление установленных обновлений
Скрывать нежелательных обновлений
Получать прямые ссылки на *.cab/*.exe/*.psf файлы обновлений
Просматривать историю обновлений
Настройка автоматических обновлений
Работает на ОС начиная от Windows XP до Windows 10
Примечание. Утилита позволяет делать то же, что и сторонний модуль PowerShell PSWindowsUpdate, но в гораздо более удобном графическом интерфейсе.
Программа портабельная, есть 2 версии: 32-х и 64-х битная.
Ссылки на актуальную версию и языковые пакеты есть на сайте: http://forum.ru-board.com/topic.cgi?forum=5&topic=48142#2
https://yadi.sk/d/95eiVNgmj25M4
Не работает. Командлет отрабатывает вроде бы без ошибок, но полученный текстовый файл содержит только GUIDы и «No format information found». Похоже еще нужно указать ему какую-то «forma
https://social.technet.microsoft.com/Forums/ru-RU/4e81956f-9ed0-4dc2-be75-8fb54d065768/windowsupdatelog-no-format-information-found