Come registrare efficacemente gli eventi di sistema utilizzando PowerShell
PowerShell è in realtà piuttosto utile per analizzare gli eventi di sistema, soprattutto se si desidera risalire all’ultimo riavvio o spegnimento del PC, senza dover cercare manualmente infiniti registri. Può far risparmiare molto tempo e, una volta presa la mano, si troveranno molti modi per monitorare lo stato di salute del sistema o semplicemente per soddisfare la propria curiosità sugli ultimi eventi di sistema. Certo, i comandi possono sembrare inquietanti all’inizio, ma con un po’ di pratica, tutto acquista senso. Ricordate, a volte è consigliabile eseguire PowerShell con diritti di amministratore, soprattutto se ci si avventura in registri più approfonditi o nell’automazione.
Come ottenere l’ora dell’ultimo riavvio e tenere traccia degli arresti in PowerShell
Determina l’ultima volta che il computer è stato riavviato utilizzando uno script di PowerShell
Questo è un caso d’uso classico per vedere quando è stato effettuato l’ultimo riavvio. Se il sistema è lento o si stanno risolvendo problemi di avvio, ottenere rapidamente queste informazioni aiuta a escludere riavvii recenti. Il comando cerca ID evento specifici collegati all’avvio e all’arresto del sistema e mostra solo l’ultimo, quindi è semplice. In alcune configurazioni, non sempre viene rilevato immediatamente, forse a causa delle dimensioni o della tempistica del registro eventi, quindi se non sembra accurato, prova a rieseguirlo dopo un po’ o controlla le impostazioni del registro eventi. Puoi eseguire PowerShell come amministratore per ottenere risultati ottimali e per garantire l’accesso. Il comando è:
Get-WinEvent -LogName System | Where-Object {$_. Id -eq 6005 -or $_. Id -eq 6006 -or $_. Id -eq 6008} | Select-Object -Last 1 | Format-List
Questa funzione recupera gli ID evento per l’avvio (6005, 6006 e 6008), dove 6008 indica un arresto spontaneo (crash o interruzione di corrente).”Select-Object -Last 1″ seleziona solo l’evento più recente: a patto che i log non siano sovraccarichi, dovresti ottenere un timestamp dell’ultimo riavvio piuttosto accurato. Aspettati di vedere dettagli come data/ora, descrizione dell’evento e forse informazioni sulla fonte.
Controllare gli ultimi arresti del sistema con PowerShell
Se stai cercando di scoprire quando il tuo computer è stato spento l’ultima volta, la soluzione migliore è cercare l’ID evento 13. Viene registrato nel registro eventi “Sistema” ogni volta che il sistema operativo si spegne correttamente o a causa di un errore. Per recuperare le ultime 10 voci di spegnimento, il comando è:
Get-EventLog -Newest 10 -LogName "System" -InstanceID "13"
Questo comando estrae gli eventi di arresto più recenti, ordinati in una tabella.È possibile visualizzare timestamp, dettagli degli eventi e analizzare la frequenza e l’ora degli arresti. Utile se si sta cercando di risolvere problemi di avvio o semplicemente si è curiosi di conoscere l’attività del sistema.
Scopri quando il sistema è stato riavviato l’ultima volta
Allo stesso modo, se vuoi verificare quando il sistema è stato avviato l’ultima volta, cerca l’ID evento 12, ovvero il messaggio “sistema avviato”.Stessa idea di prima, ma modifica l’InstanceID in 12:
Get-EventLog -Newest 10 -LogName "System" -InstanceID "12"
Questo comando ti aiuta a individuare l’ultima volta che il tuo computer è passato da spento ad acceso, il che può essere un’informazione utile prima di pianificare aggiornamenti o manutenzione. Puoi anche impostarne uno script per eseguirlo periodicamente e tenerne traccia, se ti piace l’automazione.
Poiché Windows registra questi dati in modo piuttosto coerente, usare comandi di PowerShell come questi è un po’ come avere un rapido diario di sistema. Attenzione, a volte i registri vengono ruotati o ripuliti, quindi non dureranno per sempre o potrebbero perdere il primo evento se il registro viene troncato. Inoltre, se riscontri problemi di autorizzazioni, avvia PowerShell come amministratore: spesso funziona.
Un altro metodo per documentare gli eventi di sistema con PowerShell
Se preferisci un approccio più diretto, soprattutto se hai già familiarità con i tradizionali strumenti da riga di comando, la documentazione di PowerShell offre numerosi comandi che puoi provare. Ad esempio, per trovare gli ultimi dieci arresti, il comando Get-EventLog -Newest 10 -LogName "System" -InstanceID "13"è piuttosto semplice e i risultati vengono visualizzati in una tabella pulita. In questo modo, non devi indovinare quale voce di registro corrisponde a cosa: i dati sono già lì.
E se vuoi vedere quando il sistema è stato riavviato l’ultima volta, basta sostituire l’ID con 12. Facile, vero? Puoi anche automatizzare questi comandi, creare uno script o integrarli in una configurazione di monitoraggio. PowerShell è abbastanza flessibile per questo tipo di operazioni.
- Assicurati che PowerShell venga eseguito con diritti di amministratore se i registri sono mancanti o i comandi non riescono
- Tieni presente che i registri possono essere ruotati o ripuliti, quindi le voci recenti potrebbero mancare
- Utilizzare i comandi per ottenere rapidamente una cronologia degli eventi di avvio/arresto del sistema
Basta armeggiare con questi comandi per ottenere un quadro sorprendentemente chiaro dell’attività del sistema. Non sempre perfetto, ma decisamente migliore rispetto all’analisi manuale dei registri di Windows.
Incartare
PowerShell non è solo un complicato strumento di scripting: in una configurazione ha funzionato subito, in un’altra ho dovuto eseguirlo come amministratore o modificare le impostazioni del registro. Ha senso, perché a volte Windows deve renderlo più complicato del necessario. In ogni caso, se vi piace monitorare gli eventi di sistema, questi comandi dovrebbero semplificarvi la vita. Non è una scienza missilistica una volta presa la mano, ed è un modo pratico per tenere d’occhio cosa sta effettivamente facendo il vostro computer sotto il cofano.
Riepilogo
- Utilizzare i comandi di PowerShell per trovare gli ultimi eventi di avvio/arresto
- Esegui PowerShell come amministratore per l’accesso completo
- Controlla periodicamente gli ID e i registri degli eventi per tenere traccia
- Automatizza con gli script se ti piace il monitoraggio regolare
Incrociamo le dita affinché questo aiuti
Articoli correlati
Questo articolo è stato utile?