Como posso converter os logs do cliente do Windows Update em texto simples?

Como posso converter os logs do cliente do Windows Update em texto simples?

No Windows 10, o cliente Windows Update usa rastreamento de eventos em vez de gravar em um arquivo de texto como fazia nas versões anteriores do Windows. Isso pode dificultar a solução de problemas em máquinas clientes.

O cmdlet Get-WindowsUpdateLog nem sempre funciona. Em particular, parece não funcionar corretamente quando executado remotamente ou quando a máquina de destino não tem acesso direto à Internet. Também vi relatos de outros problemas cuja causa é menos clara.

Existe uma opção mais confiável e flexível?

Responder1

Começando de1709estar offline (leia-se: sem acesso aos servidores de símbolos) não deveria mais ser um risco. Você pode apenas usarGet-WindowsUpdateLog-LogPath .\WindowsUpdate.logdo PowerShell.

Ou alternativamente, se você não gosta disso:

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

(o tracerpt parece de alguma forma limitado à criação de arquivos de log únicos com mais de aproximadamente 4.000 entradas)

Responder2

Para Windows Server 2016 ou Windows 2016 LTSB,este artigo da Microsoftdescreve como usar o Get-WindowsUpdateLogcomando em uma máquina que não tem acesso ao servidor de símbolos da Microsoft.

A opção mais simples é copiar os arquivos .etl da C:\Windows\Logs\WindowsUpdatemáquina offline para sua máquina de administração (online) e então usar a -ETLPathopção para apontar Get-WindowsUpdateLogpara os arquivos copiados.

Responder3

Esta resposta não funciona mais. Recuperado empedido de Mirhe porque pode servir de referência para pesquisas futuras. Usarresposta de Mirhouminha nova respostaem vez de.

O uso tracefmtconforme descrito abaixo foi baseado em postagens do blog da Microsoft e funcionou quando o postei no início de 2018, mas parou de funcionar no final daquele ano. Parece não funcionar mais, mesmo no Windows 1709 ou posterior.


Você pode converter os logs de rastreamento de eventos em texto simples usando tracefmto SDK do Windows 10.

Primeiro, copie os arquivos da C:\Windows\Logs\WindowsUpdatemáquina de destino para um local conveniente na sua máquina administrativa.

Abra uma janela de linha de comando, mude para o diretório que contém a cópia dos arquivos de rastreamento e execute o seguinte comando:

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

A máquina administrativa deve ter o SDK do Windows 10 instalado e precisa de acesso direto à Internet. Ele não precisa estar executando o Windows 10.

Você pode então combinar os logs em um único arquivo:

copy *.txt WindowsUpdate.log

informação relacionada