Como registrar eventos do sistema de forma eficaz usando o PowerShell
O PowerShell é realmente muito útil para analisar eventos do sistema — especialmente se você quiser saber quando seu PC foi reiniciado ou desligado pela última vez, sem precisar vasculhar logs intermináveis manualmente. Ele pode economizar muito tempo e, depois que você pegar o jeito, descobrirá várias maneiras de monitorar a saúde do seu sistema ou simplesmente satisfazer sua curiosidade sobre os últimos eventos do sistema. Claro, os comandos podem parecer assustadores no início, mas com um pouco de prática, tudo faz sentido. Lembre-se apenas de que, às vezes, é recomendável executar o PowerShell com privilégios de administrador — principalmente se você estiver explorando logs mais complexos ou automatizando processos.
Como obter a hora da última reinicialização e rastrear desligamentos no PowerShell
Determine a última vez que seu computador foi reiniciado usando um script do PowerShell.
Este é um caso de uso clássico para verificar quando o sistema foi reiniciado pela última vez. Se o seu sistema estiver lento ou se você estiver solucionando problemas de inicialização, obter essas informações rapidamente ajuda a descartar reinicializações recentes. O comando busca IDs de eventos específicos vinculados à inicialização e ao desligamento do sistema e exibe apenas o mais recente, sendo, portanto, bastante simples. Em algumas configurações, ele pode não detectar o evento imediatamente — talvez devido ao tamanho do log de eventos ou ao tempo decorrido — então, se o resultado parecer impreciso, tente executar o comando novamente após alguns instantes ou verifique as configurações do log de eventos. Para obter melhores resultados e garantir o acesso, você pode executar o PowerShell como administrador. O comando é:
Get-WinEvent -LogName System | Where-Object {$_. Id -eq 6005 -or $_. Id -eq 6006 -or $_. Id -eq 6008} | Select-Object -Last 1 | Format-List
Este comando recupera os IDs de evento para inicialização (6005, 6006 e 6008), sendo o 6008 referente a um desligamento espontâneo (travamento ou queda de energia).O comando “Select-Object -Last 1” extrai apenas o evento mais recente — contanto que seus logs não estejam sobrecarregados, você deverá obter um registro de data e hora da última reinicialização bastante preciso. Espere ver detalhes como data/hora, descrição do evento e, possivelmente, informações sobre a origem.
Verifique os últimos desligamentos do sistema com o PowerShell.
Se você está tentando descobrir quando seu computador foi desligado pela última vez, a melhor maneira é procurar pelo ID de evento 13. Ele é registrado no log de eventos “Sistema” sempre que o sistema operacional é desligado corretamente ou devido a um erro. Para obter as 10 últimas entradas de desligamento, o comando é:
Get-EventLog -Newest 10 -LogName "System" -InstanceID "13"
Este comando extrai os eventos de desligamento mais recentes, organizados em uma tabela. Você pode ver os registros de data e hora, detalhes do evento e analisar a frequência e o momento em que os desligamentos ocorreram.Útil para solucionar problemas de inicialização ou simplesmente por curiosidade sobre a atividade do sistema.
Descubra quando o sistema foi reiniciado pela última vez.
Da mesma forma, se você quiser verificar quando o sistema foi iniciado pela última vez, procure pelo ID de evento 12 — essa é a mensagem de “sistema iniciado”.A ideia é a mesma, basta alterar o InstanceID para 12:
Get-EventLog -Newest 10 -LogName "System" -InstanceID "12"
Este comando ajuda você a identificar a última vez que sua máquina foi ligada, o que pode ser uma informação valiosa antes de agendar atualizações ou manutenções. Você pode até mesmo criar um script para executá-lo periodicamente e manter um registro, se você gosta de automação.
Como o Windows registra essas informações de forma bastante consistente, usar comandos do PowerShell como esses é como ter um diário rápido do sistema. Apenas tome cuidado, pois às vezes os registros são rotacionados ou limpos, então esses registros não durarão para sempre ou podem perder o primeiro evento se o registro for truncado. Além disso, se você encontrar problemas de permissão, inicie o PowerShell como administrador — isso geralmente resolve o problema.
Outro método para documentar eventos do sistema com o PowerShell
Se você prefere uma abordagem mais direta, especialmente se já está familiarizado com ferramentas tradicionais de linha de comando, a documentação do PowerShell oferece diversos comandos para você explorar. Por exemplo, para encontrar os últimos dez desligamentos, o comando Get-EventLog -Newest 10 -LogName "System" -InstanceID "13"é bastante simples e os resultados são apresentados em uma tabela organizada. Dessa forma, você não precisa adivinhar qual entrada de log corresponde a qual evento — os dados estão ali, prontos para serem analisados.
E se você quiser ver quando o sistema foi iniciado pela última vez, basta trocar o ID por 12. Fácil, não é? Você também pode automatizar esses comandos, criar um script ou integrá-los a um sistema de monitoramento. O PowerShell é flexível o suficiente para isso.
- Certifique-se de que o PowerShell esteja sendo executado com privilégios de administrador caso os logs estejam ausentes ou os comandos falhem.
- Tenha em atenção que os registos podem ser rotacionados ou apagados, pelo que as entradas mais recentes podem estar em falta.
- Use os comandos para obter rapidamente uma linha do tempo dos eventos de inicialização/desligamento do seu sistema.
Experimentar com esses comandos pode fornecer uma visão surpreendentemente clara da atividade do seu sistema. Nem sempre é perfeito, mas é muito melhor do que clicar manualmente nos registros do Windows.
Resumo
O PowerShell não é apenas uma ferramenta de script complicada — em uma configuração, funcionou imediatamente; em outra, precisei executá-lo como administrador ou ajustar as configurações de registro. Faz sentido, já que o Windows às vezes complica as coisas mais do que o necessário. De qualquer forma, se você gosta de monitorar eventos do sistema, esses comandos podem facilitar bastante a sua vida. Não é nenhum bicho de sete cabeças depois que você pega o jeito, e é uma ótima maneira de ficar de olho no que sua máquina está fazendo nos bastidores.
Resumo
- Use comandos do PowerShell para encontrar os últimos eventos de inicialização/desligamento.
- Execute o PowerShell como administrador para obter acesso total.
- Verifique periodicamente os IDs e registros dos seus eventos para manter um histórico.
- Automatize com scripts se você gosta de monitoramento regular.
Tomara que isso ajude.
Artigos Relacionados
Este artigo foi útil?