Windows Server: Reinício após Atualizações — como funciona, por que falha e como reagendar (GPO, CMD e PowerShell)

O servidor avisou que vai reiniciar para concluir atualizações, mas a interface mostra erro e o botão de agendar sumiu? Este guia explica quando o Windows Server reinicia, por que o alerta de falha aparece e como reagendar com segurança via GPO, CMD, PowerShell e Agendador.

Índice

Visão geral do cenário

Após instalar atualizações no Windows Server, foi exibido um reinício agendado para uma data futura (por exemplo, “daqui a 2 dias”). Ao mesmo tempo, a página de Windows Update pode mostrar a mensagem “houve um problema ao instalar algumas atualizações”. E, em alguns casos, a opção Agendar reinício deixa de aparecer.

Neste artigo, você encontra respostas diretas, procedimentos de correção e formas confiáveis de controlar o reinício — sem surpresas em produção.

Resposta direta e prática

Comportamento do reinício agendado

  • Horário agendado tem prioridade. Se você definiu explicitamente um horário em Agendar reinício, o sistema deve reiniciar nesse horário e não antes, mesmo que existam “Horas ativas”.
  • Exceções controladas por política. Políticas de Grupo (GPO) ou prazos de reinício (deadlines) definidos pela TI podem forçar reinício antes/depois do previsto. Verifique especialmente:
    • Computer Configuration → Administrative Templates → Windows Update → Manage end user experience:
      • Always automatically restart at the scheduled time
      • Specify deadline before auto-restart for update installation (ou “Specify deadlines for automatic updates and restarts”)
      • No auto-restart with logged on users for scheduled automatic updates installations
      • Turn off auto-restart for updates during active hours
  • WSUS/MECM/WUfB podem alterar a lógica. Se o servidor é gerenciado por WSUS, Microsoft Endpoint Configuration Manager (SCCM/MECM) ou Windows Update for Business, as janelas de manutenção e prazos definidos centralmente prevalecem.

Por que aparece “houve um problema ao instalar…” e ainda assim o sistema pede reinício

  • Instalação parcial. Parte das atualizações foi aplicada e requer reinício para concluir; outras falharam naquele ciclo. Após o reinício, o Windows normalmente finaliza o que falta e tenta novamente as que falharam.
  • Dependências e ordem. Algumas KBs exigem reinício antes de permitir que outras sejam instaladas. É comum ver “falha” temporária que se resolve depois do reboot.
  • Ambiente do servidor. Falhas também podem ocorrer por falta de espaço em disco, serviços bloqueados, antivírus, drivers ou pacotes supersedidos.

Como verificar e corrigir falhas de atualização (essencial)

  • Histórico: Configurações → Atualização do WindowsHistórico de atualizações (anote códigos/KBs com falha).
  • Event Viewer: Applications and Services Logs → Microsoft → Windows → WindowsUpdateClient → Operational (sucessos: Evento 19; falhas: Evento 20). Também vale conferir Microsoft-Windows-UpdateOrchestrator/Operational para agendamentos e reinícios.
  • Espaço em disco: mantenha ao menos 5–10 GB livres na unidade do sistema para evitar erros por falta de espaço.
  • Repor componentes do Windows Update:
net stop wuauserv
net stop bits
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
ren %systemroot%\System32\catroot2 catroot2.old
net start bits
net start wuauserv

Opção ampliada (incluindo serviços adicionais, quando presentes):

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

Depois, procure atualizações novamente e verifique o histórico.

Como reagendar o reinício quando a opção sumiu

A opção Agendar reinício só aparece quando há reinício pendente gerenciado pelo Windows Update e a política permite o agendamento. Se o botão sumiu, use um dos caminhos abaixo.

Via interface (quando disponível)

Configurações → Atualização do Windows → Opções de reinício/Agendar reinício → habilite Agendar um horário e defina data/hora.

Via linha de comando (funciona em todas as edições)

  • Agendar um reinício para daqui a X segundos (ex.: 2 horas = 7200 s):
shutdown /r /t 7200 /c "Reinicio programado para concluir atualizações"
  • Cancelar um agendamento (feito com shutdown):
shutdown /a
  • Reiniciar imediatamente:
shutdown /r /t 0

Observação: shutdown /a cancela apenas contagens regressivas ativas do shutdown.exe. Se o reinício está agendado pelo Update Orchestrator ou por política, ajuste a política, reprograme via tarefa ou reinicie manualmente no horário desejado.

Agendador de Tarefas (horário exato com conta do sistema)

Exemplo: reiniciar às 23:00 de hoje:

schtasks /Create /SC ONCE /TN "Reinicio_Atualizacoes" /TR "shutdown.exe /r /t 0 /f" /ST 23:00 /RU SYSTEM

Vantagem: você escolhe dia/hora precisos sem depender da UI do Windows Update.

PowerShell: agendar com tarefa

$action  = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -Command "Restart-Computer -Force"'
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date "23:00")
Register-ScheduledTask -TaskName 'Reinicio_Atualizacoes' -Action $action -Trigger $trigger -User 'SYSTEM' -RunLevel Highest

Server Core: usando o SConfig

No Server Core, abra sconfig e use as opções de Windows Update para verificar pendências e aplicar/reiniciar. Se precisar de controle fino de horário, prefira shutdown/schtasks ou a GPO.

Padronização via Política de Grupo (recomendado para servidores)

Você pode forçar um comportamento consistente em todos os servidores:

PolíticaEfeitoRecomendação para servidor
Always automatically restart at the scheduled timeGarante reinício no horário configurado, ignorando adiamentos do usuário.Habilitar em conjunto com janelas de manutenção.
No auto-restart with logged on users…Evita reinício automático se houver usuários logados.Habilitar em ambientes com administração frequente remota; avaliar impacto.
Turn off auto-restart during active hoursImpede reinício dentro das Horas Ativas.Definir Horas Ativas coerentes; para servidores, geralmente madrugada fora de expediente.
Specify deadline before auto-restart…Define prazo máximo para reiniciar após instalar updates.Usar prazos alinhados à política de segurança e janela de manutenção.

Checklist rápido para tomar a decisão

  1. Confirme se há reinício pendente: verifique na UI do Windows Update e/ou com o registro: if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired') { 'Reinicio pendente' } else { 'Sem reinicio pendente' }
  2. Verifique políticas ativas: gpresult /h C:\Temp\gp.html e revise as entradas de Windows Update.
  3. Garanta janela de manutenção: evite reiniciar em horário crítico de produção.
  4. Reagende conforme necessidade: via GUI, shutdown, schtasks ou GPO.
  5. Após o reboot: valide o Histórico e os logs de evento para confirmar sucesso.

Diagnóstico aprofundado e validações

Eventos e logs úteis

OrigemCaminhoEventos comunsUso
WindowsUpdateClientApplications and Services Logs → Microsoft → Windows → WindowsUpdateClient → Operational19 (instalado), 20 (falha)Avaliar sucesso/falha por KB.
Update OrchestratorMicrosoft-Windows-UpdateOrchestrator/OperationalAgendamentos de reboot, etapas de orquestraçãoVer se o sistema agendou/alterou reinício.
SystemWindows Logs → System1074 (reinício iniciado), 6006/6008Quem reiniciou, quando e o motivo.
CBS / DISMC:\Windows\Logs\CBS\CBS.log e C:\Windows\Logs\DISM\dism.logInstalação de pacotes e manutençãoFalhas de componente ou corrupção.

Conferir as tarefas do Update Orchestrator

Get-ScheduledTask -TaskPath '\Microsoft\Windows\UpdateOrchestrator\' |
  Where-Object {$_.TaskName -match 'Reboot'} |
  Get-ScheduledTaskInfo

Verifique Next Run Time e o Last Run Result para confirmar se há reinício programado pela própria orquestração do Windows Update.

Checar KBs instaladas e pendentes

# KBs instaladas recentemente
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 15

Histórico do Windows Update (quando disponível)

Get-WindowsUpdateLog  # compila logs de ETL (Windows Server 2016+) </code></pre>

<h3>Reparo do sistema antes de tentar novamente</h3>
<p>Se os erros persistirem mesmo após reiniciar:</p>
<pre><code>sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
</code></pre>

<h3>Forçar nova detecção/instalação (uso criterioso)</h3>
<p>Comandos internos (podem variar por versão):</p>
<pre><code>usoclient StartScan
usoclient StartInstall
usoclient RestartDevice
</code></pre>
<p><em>Observação:</em> em versões mais novas, alguns comandos <code>wuauclt</code>/<code>usoclient</code> são restritos e podem não produzir saída visível. Use-os com cautela e prefira o fluxo padrão via UI/WSUS/MECM.</p>

<h2>Quando o “Agendar reinício” desaparece</h2>
<p>Motivos comuns e o que fazer:</p>
<table>
  <thead>
    <tr>
      <th>Causa provável</th>
      <th>Como confirmar</th>
      <th>Correção</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Não há mais reinício pendente</td>
      <td>Chave <code>RebootRequired</code> não existe; UI indica “Você está atualizado”.</td>
      <td>Nada a fazer; reinício não é mais necessário.</td>
    </tr>
    <tr>
      <td>GPO desabilita o agendamento</td>
      <td><code>gpresult /h</code> mostra políticas de experiência do usuário do Windows Update.</td>
      <td>Alinhar a política; use <code>schtasks</code> para agendamento manual.</td>
    </tr>
    <tr>
      <td>WSUS/MECM controla o restart</td>
      <td>Cliente aponta para WSUS; tarefas do Orchestrator mostram <em>Next Run</em>.</td>
      <td>Respeitar janela central; se necessário, coordenar e reiniciar manualmente.</td>
    </tr>
    <tr>
      <td>UI em Server Core/sem shell</td>
      <td>Sem página de Configurações completa.</td>
      <td>Usar <code>sconfig</code>, <code>shutdown</code> e <code>schtasks</code>.</td>
    </tr>
  </tbody>
</table>

<h2>Boas práticas para servidores</h2>
<ul>
  <li><strong>Janela de manutenção definida:</strong> padronize um horário (ex.: madrugada local) e centralize via GPO/WSUS/MECM.</li>
  <li><strong>Evite impacto em sessões administrativas:</strong> se conveniente, habilite “No auto-restart with logged on users…”.</li>
  <li><strong>Clusters e serviços críticos:</strong> em <em>Failover Clustering</em>, use <code>Suspend-ClusterNode -Drain</code> para esvaziar cargas antes do reboot e <code>Resume-ClusterNode</code> depois.</li>
  <li><strong>Validação pós-reboot:</strong> confira <em>Histórico</em>, eventos 19/20 e o motivo do reinício (evento 1074). Teste aplicações e monitore métricas.</li>
  <li><strong>Capacidade de armazenamento:</strong> mantenha espaço suficiente na unidade do SO; limpe arquivos temporários e logs antigos.</li>
</ul>

<h2>Procedimentos prontos para uso</h2>

<h3>Fluxo A — tudo pronto para reiniciar às 23:00 de hoje</h3>
<ol>
  <li>Confirme pendência: <code>Test-Path HKLM:\...\RebootRequired</code>.</li>
  <li>Agende:
    <pre><code>schtasks /Create /SC ONCE /TN "Reinicio_Atualizacoes" /TR "shutdown.exe /r /t 0 /f" /ST 23:00 /RU SYSTEM</code></pre>
  </li>
  <li>Notifique stakeholders e registre a mudança.</li>
  <li>Após o reboot, valide eventos e histórico.</li>
</ol>

<h3>Fluxo B — reagendar porque o botão sumiu</h3>
<ol>
  <li>Rode <code>gpresult /h</code> e confirme se GPO removeu a opção.</li>
  <li>Se existir reinício pendente, reprograme com <code>shutdown /r /t</code> ou <code>schtasks</code>.</li>
  <li>Se não houver pendência, force detecção (<code>usoclient StartScan</code>) ou aguarde a próxima janela.</li>
</ol>

<h3>Fluxo C — falha de atualização persistente</h3>
<ol>
  <li>Libere espaço em disco e desconecte mídia ISO.</li>
  <li>Repare componentes:
    <pre><code>sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

Reponha componentes do Windows Update (script acima).
Instale novamente e reinicie na janela segura.

Referência rápida de políticas e configurações

ÁreaOpçãoValor sugeridoObservações
Horas AtivasInício/FimFora do expedienteEm servidores, defina madrugada para evitar reinícios durante o dia.
Prazo de reinícioDeadline24–72 horasBalanceie segurança vs. impacto operacional.
Experiência do usuárioNo auto-restart with logged on users…Habilitar (quando aplicável)Útil quando há admin conectado fazendo manutenção.
Reinício programadoAlways automatically restart at the scheduled timeHabilitarCrava o reinício na janela definida.

Comandos úteis (copiar e colar)

Agendar/cancelar reinício

shutdown /r /t 7200 /c "Reinicio programado para concluir atualizações"   # em 2 horas
shutdown /a                                                                 # cancelar contagem
shutdown /r /t 0                                                            # imediato

Agendar tarefa às 23:00 (conta do sistema)

schtasks /Create /SC ONCE /TN "Reinicio_Atualizacoes" /TR "shutdown.exe /r /t 0 /f" /ST 23:00 /RU SYSTEM

PowerShell — tarefa agendada para reiniciar

$action  = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -Command "Restart-Computer -Force"'
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date "23:00")
Register-ScheduledTask -TaskName 'Reinicio_Atualizacoes' -Action $action -Trigger $trigger -User 'SYSTEM' -RunLevel Highest

Listar KBs instaladas e verificar pendência

Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 20
if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired') { 'Reinicio pendente' } else { 'Sem reinicio pendente' }

Reparar componentes

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

Resetar componentes do Windows Update

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

Checar agendamentos do Update Orchestrator

Get-ScheduledTask -TaskPath '\Microsoft\Windows\UpdateOrchestrator\' | Where-Object {$_.TaskName -match 'Reboot'} | Get-ScheduledTaskInfo

Desinstalar uma KB específica (se necessário)

wusa /uninstall /kb:1234567 /quiet /norestart

Perguntas rápidas (FAQ)

O servidor vai reiniciar exatamente no horário agendado ou “automaticamente fora das horas ativas”?
Se você definiu um horário em Agendar reinício, esse horário é o que vale. Apenas políticas (GPO/deadline) podem antecipar/postergar. “Horas ativas” atuam para evitar reinícios não agendados durante o expediente.

Por que aparece “houve um problema ao instalar algumas atualizações” mesmo com o pedido de reinício?
Porque houve instalação parcial: algumas KBs exigem reinício para concluir; outras falharam e serão tentadas depois. Após o reboot, verifique o histórico e os eventos 19 (sucesso) e 20 (falha).

Como reagendar se o botão “Agendar reinício” sumiu?
Use shutdown /r /t, crie uma tarefa com schtasks ou padronize pela GPO. Em Server Core, use sconfig para o básico e complemente com CMD/PowerShell.

Exemplo prático completo

Contexto: Atualizações aplicadas hoje, mensagem de falha parcial, reinício “em 2 dias”, janela de manutenção às 23:00.

  1. Confirme pendência: if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired') { 'Reinicio pendente' }
  2. Confira políticas: gpresult /h C:\Temp\gp.html
  3. Agende reinício para a janela: schtasks /Create /SC ONCE /TN "Reinicio_Atualizacoes" /TR "shutdown.exe /r /t 0 /f" /ST 23:00 /RU SYSTEM
  4. Após reiniciar, valide:
    • WindowsUpdateClient/Operational: eventos 19/20;
    • System: evento 1074 com motivo “Windows Update”.
  5. Se houver falha persistente, aplique: sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth e refaça a busca por updates.

Resumo final

  • O servidor reinicia no horário que você agendou, salvo quando GPOs ou prazos corporativos determinam diferente.
  • A mensagem de erro indica falha parcial: parte precisa de reinício; o restante será tentado após o reboot.
  • Para reagendar, use a UI quando disponível; se Agendar reinício sumiu, utilize shutdown /r /t, schtasks ou GPO para controlar o horário com precisão.
  • Valide com logs (eventos 19/20, 1074) e mantenha práticas de manutenção (janela, espaço em disco, cluster-aware).
Índice