Windows update logs are now generated using etw event tracing for windows

Исторически для анализа работы агента и службы обновления Windows используется текстовый файл WindowsUpdate.log. Однако в Windows 10 (Windows Server 2016/2019) вместо привычного текстового файла логи Windows Update ведутся в формате Event Tracing for Windows (ETW). За счет этого увеличивается быстродействие подсистемы записи логов и экономится место на диске.

Таким образом, события Windows Update теперь больше не записываются в реальном времени в файл %windir%\WindowsUpdate.log. И хотя сам файл все еще присутствует в корне папки Windows, в нем лишь указано, что для сбора логов теперь применяется формат ETW.

пустой файл WindowsUpdate.log в Windows 10

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.

etl файл windowsupdate в Windows 10

Чтобы сформировать файл WindowsUpdate.log и поместить его в каталог C:\PS\Logs, выполните следующую команду в консоли PowerShell:

Get-WindowsUpdateLog -logpath C:\PS\Logs\WindowsUpdate.log

Get-WindowsUpdateLog в WIndows 10

В Windows Server 2016 при запуске командлета
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

WindowsUpdateLog.psm1 Cannot find path 'C:\Program Files\Windows Defender\SymSrv.dll'

Файл “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.

SymSrv.dll

В старых версиях Windows 10 при первом запуске командлет Get-WindowsUpdateLog скачает и установит сервер символов Microsoft (Microsoft Internet Symbol Store). В последних версиях Windows 10 выполняется онлайн доступ к серверу символов Microsoft в Azure. Затем командлет:

  1. Собирает данные из всех .etl файлов;
  2. Преобразует данные в CSV (по-умолчанию) или XML формат;
  3. Переконвертирует данные из промежуточных файлов и добавляет их в текстовый файл журнала, указанного в параметре LogPath (если параметр LogPath не задан, файл WindowsUpdate.log создается на рабочем столе пользователя, запустившего команду).

В некоторых случаях в журнале WindowsUpdate.log вы видеть такие строки

Unknown( 10): GUID=5e0ee4cc-3618-f43a-06ca-9d3b0dabc11a (No Format Information found).

Unknown ( 10): (No Format Information found) - WindowsUpdate.log

Это значит, что у вас не установлен сервер символов Windows Symbol (сейчас нельзя скачать отдельную программу установки Windows symbols, т.к. они автоматически загружаются из хранилища символов в Azure). Для изолированных сред вы можете использовать офлайн версию сервера символов согласно статье Offline Symbols for Windows Update.

Откройте файл журнала с помощью такой команды PowerShell:

Invoke-Item -Path C:\PS\Logs\WindowsUpdate.log

просмотр WindowsUpdate.log в Windows 10 / Windows server 2016

Совет. Обратите внимание, что созданный файл WindowsUpdate.log является статическим и не обновляется в реальном времени, как в предыдущих версиях Windows. Чтобы обновить данные журнала обновлений, нужно еще раз запустить командлет Get-WindowsUpdateLog, либо создать скрипт, автоматически обновляющий файл с какой-то периодичностью (файл перезатирается).

Анализировать получившийся файл 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

фильтрация WindowsUpdate.log с помощью powershell

Можно отфильтровать события в логе по нескольким источникам:

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.

журнал WindowsUpdateClient

Для управления обновлениями из PowerShell вы можете использовать модуль PSWindowsUpdate.

Some Windows 10 users are attempting to view the Windows 10 update log after a failed update/upgrade but have no idea where to look. On Windows 10, the Update logs are now generated using ETW (Event Tracing for Windows) as opposed to Windows 8.1 and Windows 10.

Find Windows Update Logs

How to Find the Windows Update logs on Windows 10

Because Windows 10 uses event tracing for the generated update logs, you will need to do go through some workarounds in order to be able to view the Windows Update logs.

Since there are a couple of ways to go around making this happen, we have listed every potential method of finding & viewing the Update Logs on Windows 10 below:

  • Converting Event Tracing events to a WindowsUpdate log.
  • Viewing the full Windows Update log using the Event Viewer utility. 

Feel free the method that you feel most comfortable with:

Method 1: Converting the ETW traces in Powershell

If you want an easy way to store and view the Windows Update log files in an easy-to-read format, the best way to do it is to run a Powershell command in an elevated command prompt that successfully converts all ETW (Event Tracing for Windows) into a readable WindowsUpdate.log.

This should be your preferred approach if you need to get a broad overview of all your Windows Update logs instead of looking for specific logs.

If this scenario is applicable, follow the instructions below to open up an elevated Powershell menu and run a command that successfully converts any ETW traces into a readable WindowsUpdate.log:

  1. Press Windows key + R to open up a Run dialog box. Next, type ‘powershell’ inside the text box and press Ctrl + Shift + Enter to open up an elevated Powershell window. When you’re prompted by the UAC (User Account Control), click Yes to grant admin access.
    Accessing the PowerShell window
  2. Once you’re inside the elevated PowerShell window, type the following command and press Enter to essentially convert every event tracing event related to your Windows update log into WindowsUpdate.log file:
    Get-WindowsUpdateLog
  3. After you run the command, wait patiently as the operation might take a couple of dozen seconds.
  4. Once the operation is complete, navigate to your desktop and look for the WindowsUpdateLog file that was just created.
    Converting ETW’s to a Windows Update Log

    Note: You can either open this new file with the classic Notepad app or you can use a superior text viewer like Notepad++.

Important: Keep in mind that this is only a static log file that will NOT update itself even if new errors are logged. If you want the updated list, you need to run the command above again.

If this didn’t work for you or you’re looking for a different method of viewing the error log of Windows Update, move down to the next potential fix below.

Method 2: Read the Windows Update logs via Event Viewer

If you’re looking to investigate specific Windows Update error logs, the better approach is to use the Event Viewer utility to view every Operational entry under WindowsUpdateClient.

This method is not recommended if you’re looking to take your logs outside Event Viewer since there’s no bulk export feature, but it’s perfect for investigating and pinpointing specific events.

If you’re comfortable with reading the Windows Update logs via Event Viewer, follow the instructions below:

  1. Press Windows key + R to open up a Run dialog box. Next, type ‘eventvwr.msc’ inside the text box and press Enter to open up the Event Viewer utility. If you’re prompted by the UAC (User Account Control), click Yes to grant admin access.
    Accessing the Event Viewer Utility via a Run box
  2. Once you’re inside the Event Viewer utility, use the menu on the left to navigate to the following location:
    Applications and Service Logs\Microsoft\Windows\WindowsUpdateClient
  3. After you arrive at the correct location, select the Operational tab, then move down to the center pane to view a list of every Windows Update error log.

Photo of Kevin Arrows

Kevin Arrows

Kevin Arrows is a highly experienced and knowledgeable technology specialist with over a decade of industry experience. He holds a Microsoft Certified Technology Specialist (MCTS) certification and has a deep passion for staying up-to-date on the latest tech developments. Kevin has written extensively on a wide range of tech-related topics, showcasing his expertise and knowledge in areas such as software development, cybersecurity, and cloud computing. His contributions to the tech field have been widely recognized and respected by his peers, and he is highly regarded for his ability to explain complex technical concepts in a clear and concise manner.

Download Windows Speedup Tool to fix errors and make PC run faster

Windows Update uses Event Tracing for Windows (ETW) to generate diagnostic logs in Windows 11/10, and save them in the .etl file format. The reason why this has been done is that it reduces disk space usage as well as improves performance.

windows-10-update

One fallout of this method is that the Windows Update logs are not immediately readable. You need to decode the .etl file, which is the format these logs are saved in.

To read the Windows Update logs in Windows 11/10, Microsoft suggests the following method:

  1. Download Windows Symbol Package and install them using the method outlined here. Install these symbols to say, C:\symbols.
  2. Download Tracefmt.exe tool by following the instructions here. Tracefmt (Tracefmt.exe) is a command-line tool that formats and displays trace messages from an event trace log file (.etl) or a real-time trace session. Tracefmt can display the messages in the Command Prompt window or save them in a text file.

Now open a command prompt with administrative rights and create a temporary folder, named %systemdrive%\WULogs. Now copy Tracefmt.exe to this directory.

Now, Run the following commands one after the other:

cd /d %systemdrive%\WULogs
copy %windir%\Logs\WindowsUpdate\* %systemdrive%\WULogs\
tracefmt.exe -o windowsupate.log <each windows update log delimited by space> -r c:\Symbols

The method does look tedious and Microsoft has promised that they would improve things, in the final version of Windows 10. Full details can be found at KB3036646.

UPDATE: Well things have improved in Windows 11/10 now.

Use PowerShell to read Windows Update logs

read Windows Update log in Windows 10

The WindowsUpdate.log is still located in C:\Windows, however, when you open the file C:\Windows\WindowsUpdate.log, you will only see the following information:

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.

In order to read the WindowsUpdate.log in Windows 10, you will need to use Windows PowerShell cmdlet to re-create the WindowsUpdate.log the way we normally view it.

So open a PowerShell window, type Get-WindowsUpdateLog and hit Enter.

BONUS INFORMATION

Windows Update Log File formatting has been improved

When Microsoft released Windows 10, it substituted the Windows Update log file date log file from a plain text to a binary file format. The Windows Update log file is typically required by Developers and IT professionals to read vital information while debugging applications. The preferred format for the Update log file is text so that it can be opened using the plain text editor, or processed using the text editing tools.

However, with Microsoft replacing with an unreadable binary format, a new PowerShell cmdlet, Get-WindowsUpdateLog, was added to format the binary file and convert to the preferred text format.

This process required users to either connect to the Microsoft Symbol Server to get the latest symbol files or they needed to download the latest Windows symbol files before running the Get-WindowsUpdateLog cmdlet. However, the process would not lead to success if the latest symbols were unavailable at the Microsoft Symbol Server at the time of connection, thus throwing formatting issues in the formatted text files.

This issue has been sorted out now

Connection to Microsoft Symbol Server not required

With the release of Windows 10 v 1709, Microsoft has improved the overall Windows update log file access. Establishing a connection to the Microsoft Symbol Server to get the symbols is no longer required. Though, users will still have to run the Get-WindowsUpdateLog PowerShell cmdlet to translate the Windows Update log from its binary format into readable text files.

Windows Update Log File formatting improved

Observe the screenshots and you will find that though the computer has no network connection at all (see the icon at the bottom right), the Get-WindowsUpdateLog worked successfully.

Windows Update log file

What are Symbol files

For curious minds, here is an explanation. When applications, libraries, drivers, or operating systems are linked, the linker that creates the .exe and .dll files also create a number of additional files known as symbol files.

Symbol files are identified with the extension .pdb. They hold a variety of data which are not actually needed when running the binaries, but which could be very useful in the debugging process. symbol files typically contain,

  • Global variables
  • Local variables
  • Function names and the addresses of their entry points
  • Frame pointer omission (FPO) records
  • Source-line numbers

Read next: Where to look for your Windows Update History.

Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.

How to get a readable WindowsUpdate.log from ETL files on a server running Windows Server 2016 with limited Internet accessПри отладке работы клиента Windows Update в Windows Server 2016 одним из ключевых источников получения информации является лог, который ведёт системная служба «Windows Update«. В отличие от предыдущих версий Windows Server, где этот лог имел простой текстовый формат и мог быть прочитан любым текстовым редактором, в Windows Server 2016, как и в Windows 10, прежний текстовый формат лога сменился на бинарный формат Event Trace Log (ETL) механизма Event Tracing for Windows (ETW). Соответственно, для извлечения информации из такого лога требуются дополнительные инструменты типа специализированного командлета PowerShell. А в случае, если диагностируемая серверная система имеет ограниченный доступ в Интернет, то с получением читаемого формата данных ETL у нас могут возникнуть проблемы. Рассмотрим такую проблемную ситуацию и способ её решения.

Итак, при открытии лог-файла C:\Windows\WindowsUpdate.log, который исторически использовался администраторами в предыдущих версиях ОС Windows Server, мы увидим в этом файле сообщение, говорящее о смене формата лога и необходимости использовать PS-командлет Get-WindowsUpdateLog:

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

При вызове командлета Get-WindowsUpdateLog без указания дополнительных параметров из множества лог-файлов с расширением *.etl, хранящихся в каталоге C:\Windows\Logs\WindowsUpdate будет сформирован читаемый текстовый лог-файл WindowsUpdate.log на рабочий стол текущего пользователя, запустившего командлет.

Однако, открыв этот файл, вместо читаемых событий мы можем увидеть нераспознанные записи с разными идентификаторами следующего вида:

...
1601.01.01 03:00:00.0000000 1352  1784  Unknown( 10): GUID=d1317ae8-ec05-3e09-4a50-d3b2ce02f784 (No Format Information found).
1601.01.01 03:00:00.0000000 1352  1784  Unknown( 10): GUID=d1317ae8-ec05-3e09-4a50-d3b2ce02f784 (No Format Information found).
1601.01.01 03:00:00.0000000 1352  1784  Unknown( 63): GUID=e26dfe10-35bf-3106-db9d-9a51a6a0981f (No Format Information found).
1601.01.01 03:00:00.0000000 1352  1784  Unknown( 30): GUID=018fc11d-8257-3169-8741-635574c6ffe0 (No Format Information found).
...

Данная проблема связана с отсутствием доступа к Интернет-сервису, предоставляющему по HTTP-запросу актуальные версии символов отладки (Microsoft Internet Symbol Server), которые используются для интерпретации при обработке ETL-логов.

Такое поведение командлета Get-WindowsUpdateLog имеет место быть на Windows 10 версий до 1709 (OS Build 16299), в том числе и на Windows Server 2016, который относится к версии 1607 (OS Build 14393).
Об этом указано в описании к самому командлету.

В качестве самого простого решения данной проблемы может быть открытие прямого доступа к Интернет-узлу msdl.microsoft.com на пограничном шлюзе или прокси-сервере предприятия. Однако, в некоторых случаях, исходя из требований ИБ, такой доступ открыть не представляется возможным. Как же прочитать логи в таком случае?

В качестве одного из вариантов решения может быть обработка логов на другой машине, имеющей доступ в Интернет. Для этого скопируем *.etl логи на систему Windows 10 или Windows Server 2016, имеющую доступ в Интернет, например во временный каталог C:\Temp\WindowsUpdate\ и выполним обработку копии логов:

Get-WindowsUpdateLog -ETLPath "C:\Temp\WindowsUpdate\" -LogPath "C:\Temp\WU.log"

Либо, без предварительного копирования можем сразу попробовать обработать логи прямо с удалённой машины:

Get-WindowsUpdateLog -ETLPath "\\WS2016srv\C$\Windows\Logs\WindowsUpdate" -LogPath "C:\Temp\WU.log"

Однако, при попытке получить читаемый лог, извлечённый с Windows Server 2016 1607 (14393), например, на более новой системе Windows 10 21H2 (19044) мы можем получить примерно следующий результат:

...
2022.04.05 19:44:14.5857095 1352  2928  Unknown         Unknown
2022.04.05 19:44:14.5857173 1352  2928  Unknown         Unknown
2022.04.05 19:44:15.5861231 1352  1784  Unknown         Unknown
2022.04.05 19:44:15.5861305 1352  1784  Unknown         Unknown
2022.04.05 19:44:15.5882899 1352  1784  Unknown         Unknown
...

При этом свои логи Windows Update с помощью командлета Get-WindowsUpdateLog на этой же системе с Windows 10 21H2 могут формироваться без каких-либо проблем.

Как я понимаю, связано это с тем, что для формирования читаемого лога с Windows Server 2016 1607 нам потребуется иметь символьный кеш, совместимый именно с этой версией ОС.

В качестве обходного решения этой проблемы можно сделать следующее:

  • Сформировать символьный кеш на серверной системе нужной версии, выпустив на время её в Интернет (или только конкретно к узлу msdl.microsoft.com) и выполнив командлет Get-WindowsUpdateLog;
  • Скопировать полученный символьный кеш в общедоступный сетевой каталог и использовать его в дальнейшем в качестве локального источника при работе с других серверов, отключенных от Интернет.

Итак, предоставляем на время какому-либо серверу с аналогичной версией ОС (Windows Server 2016 1607) прямой доступ в Интернет и выполняем на этом сервере командлет Get-WindowsUpdateLog. В ходе выполнения команды сервер подключится к интернет узлу msdl.microsoft.com и наполнит символьный кеш в каталоге:

%temp%\WindowsUpdateLog\SymCache.

То есть, с точки зрения текущего пользователя, который выполняет командлет, путь может иметь вид типа C:\Users{Username}\AppData\Local\Temp\WindowsUpdateLog\SymCache

В нашем примере в каталог символьного кеша было загружено около 14 MB контента.

Windows Update Log Symbols Cache in SymCache folder

Копируем всё содержимое каталога в отдельную сетевую шару, которую в дальнейшем можно будет использовать в качестве источника символьного кеша для всех серверов с аналогичной версией ОС и не имеющих доступа в Интернет.

После этого на сервере, не имеющем доступа в Интернет, выполняем команду формирования читаемого лога с использованием символьного кеша из сетевой шары:

Get-WindowsUpdateLog -SymbolServer "\\FileSrv\WS2016\WUSymCache"

В результате мы должны получить понятный читаемый лог файл на рабочем столе текущего пользователя.

Readable WindowsUpdate.log on Windows Server 2016

Получить больше информации о логах, относящихся к работе Windows Update, в том числе и о структуре этих логов, можно из документа «Microsoft Docs : Windows — Deployment — Windows Update log files».

Обратите внимание также на то, что при отладке работы клиента Windows Update в Windows Server 2016 перед погружением в вышеописанный ETL-лог для первичного анализа ситуации могут пригодится журналы Event Viewer, которые можно найти в разделе Applications and Services Logs > Microsoft > Windows > WindowsUpdateClient.

Windows Update Client Logs in Event Viewer in Windows Server 2016


Дополнительные источники информации:

  • Microsoft Docs : Offline Symbols for Windows Update — Windows drivers
  • TechNet Forums : Windows Update Logs are not generated properly for Windows Server 2016 build 1607
  • Remove From My Forums
  • Вопрос

  • Hi,

    If you open the log WindowsUpdate.log you can read this.

    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.

    If I run Get-WindowsUpdateLog I got an log that dont say me so much:
    WindowsUpdate

    1601-01-01 01:00:00.0000000 1340  2312                  Unknown( 10): GUID=fbf46613-33f0-3872-c248-268156b5ca06 (No Format Information found).
    1601-01-01 01:00:00.0000000 1340  2312                  Unknown( 10): GUID=d1317ae8-ec05-3e09-4a50-d3b2ce02f784 (No Format Information found).
    1601-01-01 01:00:00.0000000 1340  2312                  Unknown( 10): GUID=d1317ae8-ec05-3e09-4a50-d3b2ce02f784 (No Format Information found).
    1601-01-01 01:00:00.0000000 1340  2312                  Unknown( 63): GUID=e26dfe10-35bf-3106-db9d-9a51a6a0981f (No Format Information found).
    1601-01-01 01:00:00.0000000 1340  2312                  Unknown( 29): GUID=1f9e54c8-9e31-3e53-867d-d9f39756ad7f (No Format Information found).

    Cant find tracefmt.exe in Win 10 WDK

    http://www.thewindowsclub.com/read-windows-update-log-in-windows-10

    How to read WindowsUpdate.log on Server 2016?


    /SaiTech

  • Windows update icon windows 10
  • Windows update bluetooth driver windows
  • Windows update blocker скачать торрент
  • Windows update history windows 10
  • Windows update blocker скачать с официального сайта