Solução rápida: Abra o Terminal (Admin) e execute Get-WindowsUpdateLog. O PowerShell mescla todos os arquivos de rastreamento ETL e grava um WindowsUpdate.log legível na sua Área de Trabalho em menos de um minuto. O log contém todos os eventos do Agente do Windows Update com timestamps, códigos de erro e detalhamentos de subcomponentes.
O Windows Update está falhando com códigos de erro enigmáticos (0x80070002, 0x800F0922, 0x80240034). A interface de Configurações mostra apenas uma mensagem genérica de falha na instalação. Para obter a verdadeira história, você precisa do log do Windows Update — que desde o Windows 10 não é mais um arquivo de texto simples, mas uma série de arquivos de rastreamento ETL que exigem um cmdlet do PowerShell para decodificar.
Afeta: Windows 11 (e Windows 10 1607+).
Tempo de solução: ~10 minutos.
O que causa isso
Antes do Windows 10, o Windows Update gravava um arquivo de texto simples C:\Windows\WindowsUpdate.log. A partir do Windows 10 1607, o agente grava arquivos ETL (Event Trace Log) binários em C:\Windows\Logs\WindowsUpdate\ por desempenho. Para lê-los, você precisa do Get-WindowsUpdateLog, que mescla e decodifica os ETLs em um único arquivo de texto legível.
O log mesclado mostra todas as operações do Agente do Windows Update: tentativas de verificação, progresso de download, tentativas de instalação e códigos de erro exatos com nomes de funções internas. Cruzar os códigos de erro com artigos da Microsoft KB resolve a maioria das falhas de atualização.
Método 1: Gerar o WindowsUpdate.log via PowerShell
A rota padrão.
- Abra o Terminal (Admin): clique com o botão direito no Menu Iniciar → Terminal (Admin).
- Execute:
Get-WindowsUpdateLogO cmdlet decodifica todos os arquivos ETL e grava
WindowsUpdate.logna sua Área de Trabalho. Leva de 30 a 90 segundos. - O log aparece em
%USERPROFILE%\Desktop\WindowsUpdate.log. Abra com o Bloco de Notas ou seu editor de texto preferido. - Para um local de saída específico:
Get-WindowsUpdateLog -LogPath "C:\temp\WindowsUpdate.log" - Para apenas as entradas do último dia: use pipe com Select-String:
Select-String -Path "$env:USERPROFILE\Desktop\WindowsUpdate.log" -Pattern (Get-Date).ToString("yyyy/MM/dd") - Pesquise por erros: procure entradas contendo FATAL, ERROR ou 0x80 (prefixo de código de erro). Eles indicam onde o agente de atualização falhou.
Este é o método canônico — o mesmo que o Suporte da Microsoft solicita ao solucionar problemas de atualização.
Método 2: Extrair contexto específico de erro e timestamps
Para encontrar a causa de uma falha de atualização específica.
- Anote o horário em que a atualização falhou (em Configurações → Histórico de atualizações).
- Execute Get-WindowsUpdateLog como no Método 1.
- Abra o WindowsUpdate.log no Bloco de Notas. Use
Ctrl + Fpara pesquisar o horário da falha. - Leia as linhas ao redor do timestamp da falha. Procure por:
- Padrões de código de erro: HRESULT: 0x80070002 (arquivo não encontrado), 0x800F0922 (script de instalação falhou), 0x80240034 (download falhou).
- Nomes de funções: CWuaDownload::Begin, CUpdateInstaller::Install. Indica em qual fase ocorreu a falha.
- IDs de atualização: GUIDs que mapeiam para artigos KB específicos. Pesquise o GUID no navegador para descobrir qual KB está falhando.
- Para timestamps mais legíveis e análise estruturada: importe o log para um visualizador estruturado. PowerShell:
Get-Content "$env:USERPROFILE\Desktop\WindowsUpdate.log" | Where-Object { $_ -match "FATAL|ERROR|0x80" } | Out-GridViewAbre uma grade classificável e filtrável das linhas de erro.
- Salve os erros filtrados para compartilhar com o suporte:
Get-Content WindowsUpdate.log | Select-String -Pattern "FATAL|ERROR" | Out-File update-errors.txt
Isso identifica a falha exata para consulta cruzada com a documentação da Microsoft.
Método 3: Examinar entradas relacionadas do log de eventos
Para quando o log mesclado não fornece contexto suficiente — especificamente para problemas de nível de serviço ou tarefas agendadas.
- Abra o Visualizador de Eventos (
eventvwr.msc). - Navegue até Logs de Aplicativos e Serviços → Microsoft → Windows → WindowsUpdateClient → Operacional. Este log mostra operações do Cliente de Atualização — download, instalação, eventos de falha.
- Verifique também Microsoft → Windows → WindowsUpdate → Eventlog → Orquestração de atualização para as decisões de agendamento do Orquestrador.
- Filtre por eventos de Erro e Crítico (painel direito → Filtrar Log Atual → marque Erro e Crítico).
- Para mais profundidade: Logs de Aplicativos e Serviços → Microsoft → Windows → Servicing → Operacional. Mostra eventos de manutenção baseados em componentes — útil quando as atualizações falham durante a instalação, não no download.
- Exporte logs para arquivamento ou compartilhamento: clique com o botão direito em um log → Salvar Todos os Eventos Como → escolha .evtx para formato nativo ou .txt para leitura multiplataforma.
- Para a ferramenta SetupDiag (um solucionador de problemas oficial da Microsoft): baixe da Microsoft, execute como administrador. Ela analisa logs de instalação recentes e relata a causa mais provável de uma falha de atualização ou upgrade em texto simples.
O Visualizador de Eventos fornece contexto de nível superior que o log mesclado nem sempre mostra.
Como verificar se a solução funcionou
- O arquivo WindowsUpdate.log existe na sua Área de Trabalho com um timestamp atual.
- Abra o arquivo. As últimas entradas devem ser das últimas horas (assumindo que o Agente de Atualização esteve ativo).
- Os códigos de erro encontrados correspondem aos resultados da Pesquisa Microsoft ou docs.microsoft.com — especificamente a página de erros comuns do Windows Update.
Se nenhum desses funcionar
Se Get-WindowsUpdateLog falhar ou produzir um arquivo vazio, a causa pode ser uma das várias. Servidor de símbolos inacessível: o cmdlet baixa arquivos de símbolos para decodificar ETLs. Se seu firewall bloquear msdl.microsoft.com, ele falha. Solução alternativa: Get-WindowsUpdateLog -SymbolServer "" para pular símbolos. O resultado fica menos legível, mas disponível. Arquivos ETL ausentes: verifique C:\Windows\Logs\WindowsUpdate\. Se estiver vazio, o Agente de Atualização não registrou recentemente — primeiro acione uma verificação de atualização (UsoClient ScanInstallWait), aguarde o registro e execute Get-WindowsUpdateLog novamente. Para depuração mais aprofundada: execute SetupDiag.exe da Microsoft (download gratuito). Ele faz correspondência de padrões nos seus logs com problemas conhecidos e relata correções prováveis. Para versões Insider com versões experimentais do Agente de Atualização, use o Feedback Hub para enviar logs diretamente à Microsoft. Para PCs gerenciados por empresas: os logs do WSUS ou SCCM estão em C:\Windows\CCM\Logs\ ou C:\WSUS\. Estrutura de log diferente dos logs autônomos do Windows Update. Consulte o TI ou o guia do administrador do SCCM.
Resumo: Get-WindowsUpdateLog no PowerShell produz um log legível do Windows Update na sua Área de Trabalho. Pesquise por códigos de erro e timestamps para identificar falhas e consulte artigos da Microsoft KB.