В современных версиях Windows логи службы обновлений
wuauserv
пишутся не в текстовый файл WindowsUpdate.log, а в бинарные файлы Event Trace Log (ETL) через механизм Event Tracing for Windows (ETW). Также информация об действиях агента обновления и история установки обновлений на компьютере доступна в журнале Event Viewer. В этой статье мы рассмотрим, как просмотреть логи агента обновлений в Windows и получить историю установки обновлений на компьютере.
Просмотр журнала обновлений Windows в Event Viewer
Служба обновлений Windows пишет довольно подробный лог о всех выполненных действиях в журналы Event Viewer (eventvwr.msc). При анализе логов установки Windows администратору будут полезные следующие журналы событий:
- • Applications and Services Logs -> Microsoft -> Windows –> WindowsUpdateClient -> Operational – логи клиента WindowsUpdate (позволяет понять, когда клиент выполнял поиск обновлений и загрузил с сервера обновления новые файлы);
- • Windows Logs -> Setup — логи установки обновлений Windows из CAB и MSU файлов. Например:
Package KB5034122 was successfully changed to the Installed state.
Вы можете выбрать события из журналов загрузки и установки обновлений с помощью PowerShell командлета Get-WinEvent:
Вывести десять последних ошибок в журнале клиента Windows Update:
$filter = @{ ProviderName="Microsoft-Windows-WindowsUpdateClient"; level=1,2,3}
Get-WinEvent -FilterHashtable $filter | Select-Object -ExpandProperty Message -First 4
Вывести список последних установленных обновлений Windows:
Get-WinEvent -filterHashtable @{ LogName = 'Setup'; Id = 2 }| Format-List Message, TimeCreated, MachineName
Просмотр лога обновлений WindowsUpdate.log в Windows 10 и 11
Начиная с Windows 10, логи агента обновления Windows не пишутся в реальном времени в файл
%windir%\WindowsUpdate.log
. Если открыть этот файл, в нем будет указано, что формат лога был изменен:
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
Вместо этого логи Windows Update пишутся в ETL-файлы в каталоге
%windir%\Logs\WindowsUpdate
. Чтобы конвертировать ETW трейсы из ETL файлов в привычный текстовый файл с логом WindowsUpdate.log, воспользуйтесь командлетом Get-WindowsUpdateLog:
Get-WindowsUpdateLog -logpath C:\Temp\WindowsUpdate.log
Если доступ в интернет заблокирован, вы можете скопировать ETL файлы на компьютер с новым билдом Windows 10/11 и сгенерировать лог файл с помощью команды:
Get-WindowsUpdateLog -ETLPath "C:\Temp\WindowsUpdateETL\" -LogPath "C:\Temp\WindowsUpdate.log"
Откройте журнал Windows Update с помощью блокнота:
Notepad C:\Temp\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) с помощью простого регулярного выражения PowerShell, выполняющего поиск текста в файле:
Select-String -Pattern '\sagent\s' -Path C:\Temp\WindowsUpdate.log | Select-Object -Last 30
По логу WindowsUpdate.log можно понять, получает ли компьютер обновления с Windows Update или локального WSUS сервера, есть ли проблемы с доступном в Интернет, используется ли системный прокси и т.д.
История установки обновлений в Windows
В современных версиях Windows 10/11 и Windows Server 2019/2022 журнал установленных обновлений доступен в панели Settings.
Перейдите в Settings -> Update & Security -> Windows Update -> View update history (или вымолните команду
ms-settings:windowsupdate-history
).
В этом разделе отображается список всех установленных в Windows обновлений. Отсюда же можно удалить обновление, если оно вызывает проблемы.
Также вы можете получить историю установки обновлений в Windows с помощью PowerShell. Можно получить дату установки последних обновлений на компьютере через CIM класс:
Get-CimInstance win32_quickfixengineering |sort installedon -desc
Или с помощью командлета
Get-WUHistory
из модуля PSWindowsUpdate.