Как преобразовать журналы клиента Центра обновления Windows в обычный текст?

Как преобразовать журналы клиента Центра обновления Windows в обычный текст?

В Windows 10 клиент Windows Update использует трассировку событий, а не запись в текстовый файл, как это было в предыдущих версиях Windows. Это может затруднить устранение неполадок на клиентских компьютерах.

Командлет Get-WindowsUpdateLog не всегда работает. В частности, он, похоже, работает некорректно при удаленном запуске или когда у целевой машины нет прямого доступа в Интернет. Я также видел сообщения о других проблемах, причина которых менее ясна.

Есть ли более надежный и гибкий вариант?

решение1

Начиная с1709быть офлайн (читай: отсутствие доступа к серверам символов) больше не должно быть обузой. Вы можете просто использоватьGet-WindowsUpdateLog-LogPath .\WindowsUpdate.logиз PowerShell.

Или, если вам это не нравится:

FOR %i IN (C:\Windows\Logs\WindowsUpdate\*.etl) DO tracerpt %i -of csv -o %~ni.csv
copy *.csv WindowsUpdate.csv

(tracerpt, похоже, каким-то образом ограничен в создании отдельных файлов журнала с более чем ~4000 записей)

решение2

Для Windows Server 2016 или Windows 2016 LTSB,эта статья Microsoftописывает, как использовать Get-WindowsUpdateLogкоманду на компьютере, не имеющем доступа к серверу символов Microsoft.

Самый простой вариант — скопировать файлы .etl с C:\Windows\Logs\WindowsUpdateавтономного компьютера на ваш (онлайн) компьютер администратора, а затем использовать опцию, -ETLPathчтобы указать путь Get-WindowsUpdateLogк скопированным файлам.

решение3

Этот ответ больше не работает. Восстановлено взапрос mirhи потому что это может служить точкой отсчета для будущих исследований.ответ mirhилимой новый ответвместо.

Использование tracefmt, как описано ниже, было основано на сообщениях в блоге Microsoft и работало, когда я опубликовал его в начале 2018 года, но перестало работать где-то позже в том же году. Похоже, оно больше не работает, даже для Windows 1709 или более поздних версий.


Вы можете преобразовать журналы трассировки событий в обычный текст с помощью tracefmtWindows 10 SDK.

Сначала скопируйте файлы с C:\Windows\Logs\WindowsUpdateцелевого компьютера в удобное место на компьютере администратора.

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

for %i in (*.etl) do "c:\Program Files (x86)\Windows Kits\10\bin\x64\tracefmt.exe" -o %~ni.txt -r srv*c:\symbols*https://msdl.microsoft.com/download/symbols %i

На компьютере администратора должен быть установлен Windows 10 SDK и необходим прямой доступ в Интернет. Сама Windows 10 на нем работать не обязательно.

Затем вы можете объединить журналы в один файл:

copy *.txt WindowsUpdate.log

Связанный контент