As atualizações cumulativas KB5036609 e KB5036899 no Windows Server 2016 baixam, pedem reinício e falham com 0x80245002 (“SecondaryServiceAuth URL”). Abaixo está um roteiro objetivo, focado em SSU/LCU, WSUS/Proxy e correções que evitam reversões no boot.
Visão geral do problema
Em ambientes com Windows Server 2016 (versão 1607), alguns administradores relatam que as LCUs KB5036609 e KB5036899 aparentam instalar, mas após o reboot são revertidas. No WindowsUpdate.log surge a linha Failed to obtain ... SecondaryServiceAuth URL, error = 0x80245002
. Esse padrão costuma apontar para:
- Redirecionamento de origem de atualizações (WSUS, políticas de Windows Update for Business/Dual Scan) e/ou proxy/inspeção TLS.
- Pilha de manutenção (SSU) desatualizada, resultando em falhas tardias (na fase de boot).
- Repositório de componentes (WinSxS) inconsistente que provoca reversão de pacotes.
- Resíduos de cache de download ou pendências de reinicialização.
Checklist rápido (copiar e colar)
- Atualize a SSU (Servicing Stack Update) antes da LCU.
- Teste sem WSUS/Proxy:
UseWUServer=0
,netsh winhttp reset proxy
. - Reset completo do Windows Update (parar serviços, renomear
SoftwareDistribution
eCatroot2
). - DISM/SFC:
StartComponentCleanup
,RestoreHealth
,sfc /scannow
. - Instale manualmente a LCU mais nova que substitua as KB problemáticas.
- Se ainda falhar: correlacione CBS.log/Setup, tente a LCU seguinte ou efetue reparo in‑place.
Resumo de causas e ações recomendadas
Sintoma | Causa provável | Ação direta |
---|---|---|
Falha após reinício; LCU reverte | SSU desatualizada; repositório inconsistente | Instale SSU mais recente; rode DISM /SFC |
SecondaryServiceAuth URL + 0x80245002 | Políticas de Dual Scan/WSUS/Proxy interferindo | Forçar UseWUServer=0 para teste; zerar WinHTTP proxy |
Downloads repetidos, sem instalar | Cache do WU corrompido (BITS/WUA) | Reset completo (parar serviços, renomear pastas) |
Erro 0x800f0831 no CBS | Fonte de reparo/pacote ausente | Permitir Windows Update como origem de reparo e repetir DISM |
Falhas generalizadas em vários servidores | WSUS/proxy/política comum | Validar servidor “padrão-ouro” direto no Microsoft Update |
Sequência recomendada de correção
Papel crítico da SSU antes da LCU
Sem a SSU adequada, a LCU até “instala”, mas reverte no boot. Garanta os pré‑requisitos da pilha de manutenção e o serviço do instalador de módulos ativo:
sc config trustedinstaller start= demand
net start trustedinstaller
dism /online /get-packages | findstr /i "Servicing Stack"
Se a SSU estiver desatualizada, baixe a versão mais recente para o Windows Server 2016 (1607) e instale manualmente. Reinicie antes de prosseguir com a LCU.
Neutralize redirecionamentos (WSUS/Proxy/Dual Scan) para teste
O erro envolvendo SecondaryServiceAuth URL
aponta para tentativas de autenticação em um “serviço secundário” de atualização — algo típico quando há WSUS, políticas de Windows Update for Business (Dual Scan) ou proxy/interceptação TLS. Para isolar:
- Teste direto no Microsoft Update (temporário):
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /s
\:: Se UseWUServer=1, desative temporariamente:
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU ^
/v UseWUServer /t REG\_DWORD /d 0 /f
net stop wuauserv & net stop bits
net start wuauserv & net start bits
wuauclt /detectnow
Observação: Se o ambiente usa WSUS em produção, restaure UseWUServer=1
após o teste.
- Zere o proxy de WinHTTP e limpe o cache do BITS:
netsh winhttp show proxy
netsh winhttp reset proxy
bitsadmin /reset /allusers
- Hora, certificados e TLS 1.2: mantenha NTP correto; evite inspeção TLS/SSL no tráfego de atualização durante o teste; garanta que TLS 1.2 está habilitado no sistema.
- Antivírus/firewall de terceiros: desative temporariamente apenas para validar se há bloqueio no tráfego de atualização.
Reset completo do Windows Update (consolidado)
Mesmo que você já tenha executado parte do procedimento, aplique a sequência completa (inclui msiserver
e limpeza de pastas):
net stop wuauserv
net stop cryptsvc
net stop bits
net stop msiserver
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old
net start msiserver
net start bits
net start cryptsvc
net start wuauserv
Limpeza e reparo do repositório de componentes
Evita reversões durante o boot e garante integridade do WinSxS:
DISM /Online /Cleanup-Image /StartComponentCleanup
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Se o CBS.log
acusar pacotes ausentes (por exemplo, 0x800f0831
), habilite a política que permite usar o Windows Update como origem de conteúdo para reparo/recursos opcionais e repita o DISM
.
Instalação manual na ordem correta: SSU → LCU
- Instale primeiro a SSU mais recente para 1607.
- Depois, instale a LCU que substitui KB5036609/KB5036899 (ou, na falta, a LCU imediatamente posterior). Use instalação silenciosa e reinicie:
wusa.exe <caminho-da-LCU>.msu /quiet /norestart
shutdown /r /t 0
Alternativa (pacote .cab):
DISM /Online /Add-Package /PackagePath:<caminho.cab>
Se ainda falhar após reinício
- Verifique Event Viewer → Windows Logs → Setup e C:\Windows\Logs\CBS\CBS.log para identificar o código de origem e o pacote exato que reverteu.
- Se houver pendências de reinicialização, conclua as instalações pendentes e reinicie novamente (evite editar chaves manualmente).
- Avance para a LCU do mês seguinte (que substitui as KB citadas); em muitos casos, a LCU seguinte instala e normaliza a cadeia.
- Último recurso: reparo no local (in‑place upgrade) com a mesma edição/build do Server 2016, preservando funções e dados.
Por que esta abordagem resolve
- SSU primeiro: a pilha de manutenção é responsável por aplicar LCUs. Sem a versão correta, a instalação pode parecer bem-sucedida, mas reverter no estágio de boot.
- Isolamento de origem: ao forçar
UseWUServer=0
e zerar o proxy, você comprova se o WSUS ou a inspeção/filtragem de rede estão causando a falha no SecondaryServiceAuth. - Reset do WU: elimina downloads corrompidos e estados internos inconsistentes do BITS/WUA/MSI.
- Reparo DISM/SFC: restaura componentes base e viabiliza a instalação sem reversões.
Diagnóstico aprofundado
Eventos e logs que valem ouro
- WindowsUpdate.log: procure por
SecondaryServiceAuth
,redirector
,auth
,proxy
,error = 0x80245002
. - CBS.log: busque por
HRESULT
,0x800f0831
,Revert
,Failed to finalize
,Failed to process
. - Setup.evtx: em Windows Logs → Setup, filtre por
Event ID
ligados a instalação/reversão de pacotes.
Políticas e chaves de registro úteis
Item | Onde verificar | Observação |
---|---|---|
Uso de WSUS | HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\UseWUServer | 1 usa WSUS; 0 usa Microsoft Update. |
Dual Scan | Política Não permitir que políticas de adiantamento de atualização causem verificações contra o Windows Update | Habilitar para impedir escaneamento simultâneo (quando usando WSUS). |
Pendência de reboot | HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending | Se existir, finalize instalações e reinicie. |
Proxy WinHTTP | netsh winhttp show proxy | Use netsh winhttp reset proxy para zerar. |
TLS 1.2 | HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client | Certifique-se de Enabled=1 e DisabledByDefault=0 . |
Cenários corporativos típicos
WSUS com Dual Scan ativo sem querer
Políticas de adiamento de atualizações (WUfB) podem ativar o chamado Dual Scan, fazendo o servidor consultar simultaneamente o Microsoft Update, gerando conflitos e o erro de SecondaryServiceAuth. Habilite a política de não permitir que políticas de adiamento causem escaneamentos contra o Windows Update quando WSUS estiver em uso.
Proxy/inspeção TLS
Interceptação TLS, autenticação por proxy ou allowlist incompleta dos endpoints do serviço de atualização frequentemente bloqueiam a obtenção do SecondaryServiceAuth URL. Em teste, libere o tráfego sem inspeção e confirme se a falha desaparece.
Antivírus com inspeção de tráfego
Alguns agentes adicionam validações em downloads do BITS/WUA. Desative temporariamente para validar. Se confirmado, crie exceções para o serviço de atualização.
Script de correção pronto para uso (.cmd)
O script abaixo automatiza a sequência: checagem de serviços, neutralização de WSUS/Proxy (para teste), reset do WU, limpeza e tentativa de instalação manual (se você fornecer o caminho da LCU). Execute como Administrador em janela de manutenção.
@echo off
setlocal EnableExtensions EnableDelayedExpansion
\:: ===========================================
\:: Fix-WU-2016.cmd — Correção focada em 0x80245002
\:: Uso (opcional): Fix-WU-2016.cmd "C:\Patches\LCU.msu"
\:: ===========================================
title Fix WU Server 2016 (0x80245002)
echo \[1/8] Garantindo TrustedInstaller...
sc config trustedinstaller start= demand >nul 2>&1
net start trustedinstaller >nul 2>&1
echo \[2/8] Exportando configuracao atual do Windows Update...
reg export HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate "%~dp0WU-Policies-Backup.reg" /y >nul 2>&1
echo \[3/8] Desativando WSUS temporariamente (UseWUServer=0)...
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer /t REG\_DWORD /d 0 /f
echo \[4/8] Zerando proxy WinHTTP e limpando BITS...
netsh winhttp reset proxy
bitsadmin /reset /allusers
echo \[5/8] Reiniciando servicos do Windows Update...
net stop wuauserv /y
net stop cryptsvc /y
net stop bits /y
net stop msiserver /y
echo \[6/8] Limpando caches (SoftwareDistribution e Catroot2)...
if exist "%systemroot%\SoftwareDistribution.old" rmdir /s /q "%systemroot%\SoftwareDistribution.old"
if exist "%systemroot%\System32\catroot2.old" rmdir /s /q "%systemroot%\System32\catroot2.old"
ren "%systemroot%\SoftwareDistribution" SoftwareDistribution.old
ren "%systemroot%\System32\catroot2" catroot2.old
echo \[7/8] Subindo servicos...
net start msiserver
net start bits
net start cryptsvc
net start wuauserv
echo \[8/8] DISM/SFC — aguarde a conclusao...
DISM /Online /Cleanup-Image /StartComponentCleanup
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
echo.
if "%~1"=="" (
echo \[Opcional] Para instalar manualmente a LCU, rode:
echo wusa.exe ^\<caminho-da-LCU^>.msu /quiet /norestart
) else (
echo Instalando LCU: "%~1"
wusa.exe "%~1" /quiet /norestart
echo Reiniciando em 10 segundos...
shutdown /r /t 10
)
echo.
echo Concluido. Verifique WindowsUpdate.log, CBS.log e Event Viewer se persistir.
endlocal </code></pre>
<h2>Validação pós‑correção</h2>
<ol>
<li>Forçar detecção e verificar histórico:
<pre><code class="language-batch">wuauclt /detectnow
powershell -NoProfile -Command "Get-WindowsUpdateLog | Out-Null"
Confirmar ausência de erro no WindowsUpdate.log (sem novas ocorrências de SecondaryServiceAuth
).
Checar Histórico de atualizações e o Event Viewer para o status Successful.
Boas práticas para evitar recorrência
- Mantenha um servidor “padrão‑ouro” (sem GPOs de WUfB/WSUS) para validar LCUs/SSUs do mês antes de liberar em massa.
- Ao usar WSUS, habilite a política que impede Dual Scan e documente o allowlist de endpoints do serviço de atualização sem inspeção TLS.
- Garanta espaço em disco: ~20 GB livres costuma bastar; após
StartComponentCleanup
o WinSxS libera espaço. - Faça backup/snapshot antes de medidas invasivas (especialmente reparo in‑place).
FAQ
É obrigatório instalar a SSU separadamente?
Nem sempre a LCU inclui a SSU, e quando inclui, a ordem de aplicação pode falhar. Em cenários com reversão no boot, instalar a SSU mais recente antes da LCU é decisivo.
Posso deixar o UseWUServer=0
permanente?
Em ambientes com WSUS, não. Use apenas para teste ou em servidores definidos para receber do Microsoft Update por desenho.
O que fazer se o DISM /RestoreHealth
falhar?
Habilite a política de usar Windows Update como origem de reparo, confirme conectividade/Proxy, tente novamente e valide erros específicos no CBS.log
. Persistindo, avance para LCU seguinte ou considere reparo in‑place.
Por que o erro cita “SecondaryServiceAuth”?
O cliente tenta autenticar em um serviço secundário (por exemplo, cenários com WUfB/voos/serviços complementares). Políticas/proxy/inspeção podem impedir a obtenção do URL de autenticação, disparando 0x80245002.
Apêndice: comandos de apoio
Verificar SSU instalada
dism /online /get-packages | findstr /i "Servicing Stack"
Forçar nova detecção e download
wuauclt /detectnow
wuauclt /updatenow
Agendador do USO Client (para verificação)
schtasks /Query /TN "\Microsoft\Windows\UpdateOrchestrator\Schedule Scan"
Modelo para múltiplos servidores (PowerShell)
Execute no seu host de administração (com WinRM habilitado nos alvos):
$servers = @("SRV01","SRV02","SRV03")
$script = @'
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU /v UseWUServer /t REG_DWORD /d 0 /f
netsh winhttp reset proxy
bitsadmin /reset /allusers
net stop wuauserv /y
net stop cryptsvc /y
net stop bits /y
net stop msiserver /y
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old
net start msiserver
net start bits
net start cryptsvc
net start wuauserv
DISM /Online /Cleanup-Image /StartComponentCleanup
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
'@
Invoke-Command -ComputerName \$servers -ScriptBlock { param(\$cmd) cmd.exe /c \$cmd } -ArgumentList \$script
Conclusão
Para resolver a falha de instalação das KB5036609/KB5036899 no Windows Server 2016 com 0x80245002, priorize a SSU, neutralize redirecionamentos (WSUS/Proxy/Dual Scan) e aplique um reset completo do cliente WU seguido de DISM/SFC
. Em seguida, instale manualmente a LCU que substitui as KB problemáticas. Se a falha persistir, use a LCU do mês seguinte ou realize reparo in‑place. Com esse roteiro, a maioria dos ambientes volta a atualizar com normalidade — inclusive quando vários servidores foram afetados no mesmo ciclo.
Checklist final para imprimir
- SSU atualizada → instale manualmente se necessário.
- Teste sem WSUS/Proxy:
UseWUServer=0
,netsh winhttp reset proxy
. - Reset WU completo: parar serviços → renomear
SoftwareDistribution
eCatroot2
→ iniciar serviços. DISM StartComponentCleanup
,DISM RestoreHealth
,sfc /scannow
.- Instalar LCU mais nova (idealmente a que substitui KB5036609/KB5036899).
- Se falhar: checar CBS.log/Setup, tentar LCU seguinte ou reparo in‑place.
Dica: guarde o script Fix-WU-2016.cmd junto do pacote LCU/SSU para reutilização em lotes.