Como posso ver facilmente um histórico de todas as vezes que meu Windows Server foi reiniciado ou desligado e o motivo, incluindo iniciado pelo usuário, iniciado pelo sistema e travado no sistema?
O log de eventos do Windows é uma resposta óbvia, mas qual é a lista completa de eventos que devo visualizar?
Encontrei estes posts que respondem parcialmente à minha pergunta:
- A hora da última reinicialização do servidor Windows inclui várias respostas que abordam parcialmente o histórico completo de reinicialização
- Exibir logs do Rastreador de Eventos de Desligamento no Windows Server 2008 R2 inclui uma ID de evento adicional
- A hora do registro de eventos quando a inicialização/inicialização do computador inclui alguns dos mesmos IDs de evento
mas eles não cobrem todos os cenários AFAIK e as informações são difíceis de entender porque estão espalhadas por várias respostas.
Eu tenho várias versões do Windows Server, então uma solução que funcione para pelo menos as versões 2008, 2008 R2, 2012 e 2012 R2 seria ideal.
A resposta mais clara e sucinta que encontrei é:
que lista esses IDs de evento para monitorar (citado, mas editado e reformatado do artigo):
Adicione a isso mais algumas das respostas de falha do servidor listadas no meu OP:
Eu perdi algum?
Transformando o comentário @user10082 em uma resposta. A solução proposta é um one-liner, como script Powershell:
Aqui está a saída:
Eu simplesmente deixaria isso como um comentário, já que JohnC cobriu basicamente tudo, mas ainda não tenho permissão para fazê-lo.
Os eventos que ele descreveu foram usados por um bom tempo, então eles funcionarão para qualquer um dos sistemas operacionais que você mencionou, bem como para seus irmãos de desktop. As páginas de ID de evento às quais ele vinculou, como a de 6006 no TechNet, mencionam o Windows Server 2003.
Se houve um desligamento elegante, iniciado pelo usuário ou não, você também deverá ver algum ID de evento 7036 informando que vários serviços "entrou no estado parado". À medida que a máquina inicia novamente, você verá mais 7036s anunciando que os serviços estão entrando no estado de execução.
Prefiro realizar atividades a partir da linha de comando. Aqui está o início de um trecho que você pode aproveitar. Isso mostra os 30.000 registros do sistema mais recentes e retorna as reinicializações nesses registros.
Com base na resposta do @JohnC e estendendo-a
Você pode usar um filtro XML como:
Você pode substituir 172800000 pelos valores abaixo para o intervalo de tempo:
86400000 - Últimas 24 horas
172800000 - Últimos 2 dias
604800000 - Últimos 7 dias
Isso mostrará muito mais detalhes a partir do momento em que o servidor/pc ficou offline. Inclui eventos Kernel-Power, User32 e EventLog.
Um liner curto e conciso para obter o tempo de reinicialização e inicialização das últimas 8 horas de uma máquina remota usando SysInternals
psloglist
e os IDs de evento acima:A única coisa que falta (para mim) é o ID do evento para o equivalente a "caixa de diálogo de logon pronta para o usuário". Isso parece difícil de encontrar ( O que posso consultar para ver se o Windows foi inicializado e concluído com atualizações? )