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.log
do 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-WindowsUpdateLog
comando 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\WindowsUpdate
máquina offline para sua máquina de administração (online) e então usar a -ETLPath
opção para apontar Get-WindowsUpdateLog
para 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 tracefmt
conforme 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 tracefmt
o SDK do Windows 10.
Primeiro, copie os arquivos da C:\Windows\Logs\WindowsUpdate
má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