PowerShell: Gestire gli eventi di windows
Una serie di esempi in PowerShell 1.1 su come interrogare il registro eventi di windows.
Vediamo come ottenere, nella giornata corrente, l'ora in cui viene scritto il messaggio "Microsoft (R) Windows (R) 6.00. 6001 Service Pack 1 Multiproc..." (EventId 6009) che corrisponde all'avvio della macchina.
In pratica predo gli ultimi 2000 elementi scritti nel system log, li filtro per data di oggi e codice evento 6009 ed infine mi faccio restituire solo la data (TimeWritten).
Questo esempio, invece, permette di leggere gli ultimi errori scritti
in alternativa alla stringa "Error" si può usare la costante e leggere anche gli eventi dell'application log
In ultimo, per ottenere un elenco di tutti gli EventLogs
da un risultato simile al seguente
Vediamo come ottenere, nella giornata corrente, l'ora in cui viene scritto il messaggio "Microsoft (R) Windows (R) 6.00. 6001 Service Pack 1 Multiproc..." (EventId 6009) che corrisponde all'avvio della macchina.
PowerShell
Get-EventLog System -newest 2000 | where {$_.TimeWritten.Date.Equals([DateTime]::Today.Date) -and $_.EventID -eq 6009} | Select TimeWritten
Questo esempio, invece, permette di leggere gli ultimi errori scritti
PowerShell
get-EventLog System -newest 1000 | where {$_.entryType -match "Error"}
PowerShell
get-EventLog Application -newest 1000 | where {$_.entryType -eq [System.Diagnostics.EventLogEntryType]::Error}
In ultimo, per ottenere un elenco di tutti gli EventLogs
PowerShell
get-Eventlog -list
Max(K) Retain OverflowAction Entries Name
------ ------ -------------- ------- ----
10.240 0 OverwriteAsNeeded 251 Antivirus
20.480 0 OverwriteAsNeeded 38.717 Applicazione
15.168 0 OverwriteAsNeeded 0 Replica DFS
20.480 0 OverwriteAsNeeded 0 Eventi hardware
512 7 OverwriteOlder 0 Internet Explorer
20.480 0 OverwriteAsNeeded 0 Key Management Service
8.192 0 OverwriteAsNeeded 4.651 Media Center
20.480 0 OverwriteAsNeeded 38.967 Protezione
20.480 0 OverwriteAsNeeded 54.421 Sistema
16.384 0 OverwriteAsNeeded 38.717 Virtual Server
15.360 0 OverwriteAsNeeded 529 Windows PowerShell