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




Argomenti della Guida