Get-EventLog
Ottiene gli eventi in un registro eventi o un elenco dei registri eventi, sui computer locali o remoti.
Sintassi
Get-EventLog [-AsString] [-ComputerName <string[]>] [-List] [<CommonParameters>]
Get-EventLog [-LogName] <string> [[-InstanceId] <Int64[]>] [-After <DateTime>] [-AsBaseObject] [-Before <DateTime>] [-ComputerName <string[]>] [-EntryType <string[]>] [-Index <Int32[]>] [-Message <string>] [-Newest <int>] [-Source <string[]>] [-UserName <string[]>] [<CommonParameters>]
Descrizione
Con il cmdlet Get-EventLog vengono ottenuti gli eventi e i registri eventi nei computer locali e remoti.
Utilizzare i parametri di Get-EventLog per cercare gli eventi utilizzando i relativi valori delle proprietà. Con Get-EventLog vengono ottenuti solo gli eventi che corrispondono a tutti i valori delle proprietà specificati.
I cmdlet che contengono il sostantivo EventLog (cmdlet EventLog) funzionano solo su registri eventi classici. Per ottenere eventi da registri che utilizzano la tecnologia Registro eventi di Windows in Windows Vista e nelle versioni successive di Windows, utilizzare Get-WinEvent.
Parametri
-After <DateTime>
Ottiene solo gli eventi che si verificano dopo la data e l'ora specificate. Immettere un oggetto DateTime, ad esempio quello restituito dal cmdlet Get-Date.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-AsBaseObject
Restituisce un oggetto System.Diagnostics.EventLogEntry standard per ogni evento. Senza questo parametro, Get-EventLog restituisce un oggetto PSObject esteso con proprietà EventLogName, Source e InstanceId aggiuntive.
Per vedere l'effetto di questo parametro, indirizzare gli eventi al cmdlet Get-Member ed esaminare il valore TypeName nel risultato.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
False |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-AsString
Restituisce l'output come stringhe anziché come oggetti.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Before <DateTime>
Ottiene solo gli eventi che si verificano prima della data e dell'ora specificate. Immettere un oggetto DateTime, ad esempio quello restituito dal cmdlet Get-Date.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ComputerName <string[]>
Specifica un computer remoto. Il valore predefinito è il computer locale.
Digitare il nome NetBIOS, un indirizzo IP (Internet Protocol) o un nome di dominio completo di un computer remoto. Per specificare il computer locale, digitare il nome del computer, un punto (.) o "localhost".
Questo parametro non si basa sulla comunicazione remota di Windows PowerShell. È possibile utilizzare il parametro ComputerName di Get-EventLog anche se il computer non è configurato per l'esecuzione di comandi remoti.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-EntryType <string[]>
Ottiene solo gli eventi con il tipo di voce specificato. I valori validi sono Error, Information, FailureAudit, SuccessAudit e Warning. L'impostazione predefinita include tutti gli eventi.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
All events |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Index <Int32[]>
Ottiene solo gli eventi con i valori di indice specificati.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
All events |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-InstanceId <Int64[]>
Ottiene solo gli eventi con gli ID istanza specificati.
Obbligatorio? |
false |
Posizione? |
2 |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-List
Ottiene un elenco dei registri eventi nel computer.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-LogName <string>
Specifica il registro eventi. Immettere il nome registro (il valore della proprietà Log, non LogDisplayName) di uno dei registri eventi. Non è consentito l'utilizzo di caratteri jolly. Questo parametro è obbligatorio.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Message <string>
Ottiene gli eventi che presentano la stringa specificata nei messaggi. È possibile utilizzare questa proprietà per cercare i messaggi che contengono determinate parole o frasi. È consentito l'utilizzo di caratteri jolly.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
true |
-Newest <int>
Specifica il numero massimo di eventi recuperati. Con Get-EventLog viene ottenuto il numero specificato di eventi, partendo dall'evento più recente nel log.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Source <string[]>
Ottiene gli eventi scritti nel log dalle origini specificate. È consentito l'utilizzo di caratteri jolly.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
true |
-UserName <string[]>
Ottiene solo gli eventi associati ai nomi utente specificati. Immettere nomi o modelli di nome, ad esempio Utente01, Utente* o Dominio01\Utente*. È consentito l'utilizzo di caratteri jolly.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
true |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
Nessuno. Non è possibile reindirizzare l'input a questo cmdlet. |
Output |
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String Se viene specificato il parametro LogName, l'output è una raccolta di oggetti EventLogEntry (System.Diagnostics.EventLogEntry). Se viene specificato solo il parametro List, l'output è una raccolta di oggetti EventLog (System.Diagnostics.EventLog). Se vengono specificati sia il parametro List sia il parametro AsString, l'output è una raccolta di stringhe (System.String). |
Esempio 1
C:\PS>get-eventlog -list
Descrizione
-----------
Con questo comando vengono visualizzate informazioni relative ai registri eventi nel computer.
Esempio 2
C:\PS>get-eventlog -newest 5 -logname application
Descrizione
-----------
Con questo comando vengono visualizzate le cinque voci più recenti nel registro eventi dell'applicazione.
Esempio 3
C:\PS>$events = get-eventlog -logname system -newest 1000
C:\PS> $events | group-object -property source -noelement | sort-object -property count -descending
Count Name
----- ----
75 Service Control Manager
12 Print
6 UmrdpService
2 DnsApi
2 DCOM
1 Dhcp
1 TermDD
1 volsnap
Descrizione
-----------
In questo esempio viene illustrato come trovare tutte le origini rappresentate nelle 1000 voci più recenti de registro eventi di sistema.
Con il primo comando si ottengono le 1000 voci più recenti nel registro eventi di sistema, le quali vengono archiviate nella variabile $events.
Nel secondo comando viene utilizzato un operatore pipeline (|) per inviare gli eventi in $events al cmdlet Group-Object che raggruppa le voci per il valore della proprietà Source. Nel comando è utilizzato un secondo operatore pipeline per inviare gli eventi raggruppati al cmdlet Sort-Object che li ordina in ordine decrescente in modo che l'origine che appare più frequentemente sia elencata per prima.
Source è solo una proprietà delle voci del registro eventi. Per visualizzate tutte le altre proprietà di una voce del registro eventi, indirizzare gli eventi al cmdlet Get-Member.
Esempio 4
C:\PS>get-eventlog -logname System -EntryType Error
Descrizione
-----------
Con questo comando vengono ottenuti solo gli eventi di errore del registro eventi di sistema.
Esempio 5
C:\PS>get-eventlog -logname System -instanceID 3221235481 -Source "DCOM"
Descrizione
-----------
Con questo comando vengono ottenuti gli eventi del registro di sistema che presentano InstanceID di 3221235481 e un valore Source di "DCOM."
Esempio 6
C:\PS>get-eventlog -logname "Windows PowerShell" -computername localhost, Server01, Server02
Descrizione
-----------
Con questo comando vengono ottenuti gli eventi del registro eventi "Windows PowerShell" su tre computer, Server01, Server02 e il computer locale, denominato "localhost".
Esempio 7
C:\PS>get-eventlog -logname "Windows PowerShell" -message "*failed*"
Descrizione
-----------
Con questo comando vengono ottenuti tutti gli eventi del registro eventi Windows PowerShell che presentano un valore di messaggio che include la parola "failed".
Esempio 8
C:\PS>$a = get-eventlog -log System -newest 1
C:\PS> $a | format-list -property *
EventID : 7036
MachineName : Server01
Data : {}
Index : 10238
Category : (0)
CategoryNumber : 0
EntryType : Information
Message : The description for Event ID
Source : Service Control Manager
ReplacementStrings : {WinHTTP Web Proxy Auto-Disco
InstanceId : 1073748860
TimeGenerated : 4/11/2008 9:56:05 PM
TimeWritten : 4/11/2008 9:56:05 PM
UserName :
Site :
Container :
Descrizione
-----------
In questo esempio viene illustrato come visualizzare tutti i valori delle proprietà di un evento.
Con il primo comando viene ottenuto l'evento più recente del registro eventi di sistema e viene salvato nella variabile $a.
Nel il secondo comando viene utilizzato un operatore pipeline (|) per inviare l'evento in $a al comando Format-List che visualizza tutte (*) le proprietà dell'evento.
Esempio 9
C:\PS>get-eventlog -log application -source outlook | where {$_.eventID -eq 34}
Descrizione
-----------
Con questo comando vengono ottenuti gli eventi del registro eventi dell'applicazione dove l'origine è Outlook e l'ID evento è 34. Anche se Get-EventLog non presenta un parametro EventID, è possibile utilizzare il cmdlet Where-Object per selezionare gli eventi in base al valore di qualsiasi proprietà degli eventi.
Esempio 10
C:\PS>get-eventlog -log system -username NT* | group-object -property username -noelement | format-table Count, Name -auto
Count Name
----- ----
6031 NT AUTHORITY\SYSTEM
42 NT AUTHORITY\LOCAL SERVICE
4 NT AUTHORITY\NETWORK SERVICE
Descrizione
-----------
Con questo comando vengono restituiti gli venti del registro di sistema raggruppati per il valore della proprietà UserName. Nel comando Get-EventLog viene utilizzato il parametro UserName per ottenere solo gli eventi nei quali il nome utente inizia con "NT*".
Esempio 11
C:\PS>$May31 = get-date 5/31/08
C:\PS> $July1 = get-date 7/01/08
C:\PS> get-eventlog -log "Windows PowerShell" -entrytype Error -after $may31 -before $july1
Descrizione
-----------
Con questo comando vengono ottenuti tutti gli errori del registro eventi Windows PowerShell che si sono verificati nel giugno 2008.
Vedere anche
Concetti
Get-WinEvent
Clear-EventLog
Limit-EventLog
New-EventLog
Remove-EventLog
Show-EventLog
Write-EventLog
Get-WinEvent