Como faço para registrar os tempos de inicialização e desligamento no Windows 7?

18

Gostaria de registrar os horários em que meu computador é inicializado e desligado. Não preciso de nenhuma informação de diagnóstico ou nada, apenas uma simples nota da data e hora, por exemplo algo como:

2011/04/29 08:17:34 AM Startup
2011/04/29 05:26:52 PM Shutdown

Como posso fazer isso?

Minhas pesquisas no Google até agora renderam muitas pessoas perguntando sobre como reduzir o tempo de inicialização do Windows, mas nada de interesse para a tarefa em questão.

    
por Will Martin 30.04.2011 / 03:28

4 respostas

26

O Windows usa logs de eventos com o Visualizador de Eventos para registrar esse tipo de coisa:

A identificação do evento # 6005 indica a inicialização do sistema

A identificação do evento # 6006 indica o desligamento do sistema

Você deve criar uma exibição personalizada no Visualizador de eventos que será filtrar esses dois IDs de evento com a origem sendo o log de eventos.

Esta é a maneira mais simples.

Como alternativa, você pode usar o Get-WinEvent para criar um filtro personalizado e enviar esses itens para um arquivo de texto.

Ou ... você pode usar o Get-EventLog para enviar um log de eventos personalizado (criado por você com as visualizações personalizadas ...) para um arquivo de texto.

    
por 30.04.2011 / 04:09
1

O 6005 está mostrando o início dos eventos de registro, mas suponho que ele também será exibido no caso de qualquer reinicialização, ou seja, o Windows não faz diferença entre uma reinicialização completa ou reinicialização a quente.

Se o objetivo é buscar apenas a primeira inicialização e a última fechada, é necessário remover todas as entradas duplas de 6005.

Para mim, o ID do evento 12 é o primeiro e o ID do evento 13 é o último.

12: The description for Event ID ( 12 ) in Source ( Microsoft-Windows-Kernel-General ) could not be found. Either the component that raises this event is not installed on the computer or the installation is corrupted.You can install or repair the component or try to change Description Server.

13: The description for Event ID ( 13 ) in Source ( Microsoft-Windows-Kernel-General ) could not be found. Either the component that raises this event is not installed on the computer or the installation is corrupted.You can install or repair the component or try to change Description Server.

The following information was included with the event (insertion strings): 2012-12-25T18:23:26.070181000Z

PS: Deixando isso de lado, eu tenho um número de instâncias onde alguns 6005 foram registrados, mas não 6006 que segue. Deve-se adicionar manualmente o logoff real baseado em, e. a última entrada do log de eventos naquele dia.

    
por 26.12.2012 / 10:45
0

Talvez isso ajude você, se não estiver usando o tempo de uso específico. TurnedOnTimesView: Monitore o Windows Startup & Tempos de desligamento

    
por 10.05.2015 / 06:12
0

Usando o Get-EventLog do PowerShell, o seguinte (longo) -liner irá enviar a saída solicitada para um arquivo de texto:

Get-EventLog -LogName System | Where-Object {(($_.EventID -eq 6005) -or ($_.EventID -eq 6006)) -and ($_.TimeGenerated -gt [DateTime] "2017-05-01")} | Select-Object EventID, TimeGenerated, Message | Sort-Object -Property TimeGenerated | Foreach { if ($_.EventID -eq 6005) { $out = "Startup"  } else { $out = "Shutdown" + "'r'n"}  ($_.TimeGenerated.ToString() + '  ' + $out); } > C:\temp2\_ComputerStartsAndStops.log

Notas

  • O diretório C:\temp2 deve existir para que isso funcione. Se não existir, crie ou altere o one-liner para usar outro diretório (existente).
  • Para obter a saída no formato ISO 8601 , substitua " TimeGenerated.ToString() " por " TimeGenerated.ToString("s") ".
  • Existe um filtro de tempo integrado no one-liner (incluindo apenas start e shutdowns após 2017-05-01). Altere "2017-05-01" para outra coisa, se forem necessárias partidas e desligamentos mais antigos.
  • Se a saída for necessária em ordem cronológica inversa, substitua " Sort-Object " por " Sort-Object -Descending ".
  • Como ele usa o Get-EventLog, ele também funciona em versões mais antigas do Windows.

Instrução

O one-liner pode ser colocado em um script, mas as permissões precisam ser atendidas antes de funcionar. Em vez disso, a maneira mais fácil é:

  1. Abra um prompt de comando do Windows: Janela + R , digite CMD e pressione Enter .
  2. Digite powershell e pressione Enter .
  3. Copie o one-liner para a área de transferência.
  4. Cole no one-liner: Alt + Espaço Editar Colar
  5. Pressione Enter
  6. Aguarde até que termine (pode demorar um bom tempo, especialmente se for uma instalação antiga do Windows)
  7. O resultado pode ser encontrado no arquivo C:\temp2\_ComputerStartsAndStops.log .
por 28.05.2017 / 16:45