Get-EventLog
Ottiene gli eventi in un registro eventi o un elenco dei registri eventi nel computer locale o nei computer remoti.
Sintassi
LogName (Impostazione predefinita)
Get-EventLog
[-LogName] <String>
[[-InstanceId] <Int64[]>]
[-ComputerName <String[]>]
[-Newest <Int32>]
[-After <DateTime>]
[-Before <DateTime>]
[-UserName <String[]>]
[-Index <Int32[]>]
[-EntryType <String[]>]
[-Source <String[]>]
[-Message <String>]
[-AsBaseObject]
[<CommonParameters>]
List
Get-EventLog
[-ComputerName <String[]>]
[-List]
[-AsString]
[<CommonParameters>]
Descrizione
Il cmdlet Get-EventLog ottiene eventi e registri eventi dai computer locali e remoti. Per impostazione predefinita, Get-EventLog ottiene i log dal computer locale. Per ottenere i log dai computer remoti, usare il parametro
È possibile usare i parametri Get-EventLog e i valori delle proprietà per cercare gli eventi. Il cmdlet ottiene eventi che corrispondono ai valori delle proprietà specificati.
I cmdlet di PowerShell che contengono il sostantivo EventLog funzionano solo nei registri eventi classici di Windows, ad esempio Application, System o Security. Per ottenere i log che usano la tecnologia Registro eventi di Windows in Windows Vista e versioni successive di Windows, usare Get-WinEvent.
Annotazioni
Get-EventLog usa un'API Win32 deprecata. I risultati potrebbero non essere accurati. Usare invece il cmdlet Get-WinEvent.
Esempio
Esempio 1: Ottenere i registri eventi nel computer locale
In questo esempio viene visualizzato l'elenco dei registri eventi disponibili nel computer locale. I nomi nella colonna Log vengono usati con il parametro LogName per specificare quale log viene cercato per gli eventi.
Get-EventLog -List
Max(K) Retain OverflowAction Entries Log
------ ------ -------------- ------- ---
15,168 0 OverwriteAsNeeded 20,792 Application
15,168 0 OverwriteAsNeeded 12,559 System
15,360 0 OverwriteAsNeeded 11,173 Windows PowerShell
Il cmdlet
Esempio 2: Ottenere voci recenti da un registro eventi nel computer locale
In questo esempio vengono ottenute voci recenti dal registro eventi di sistema.
Get-EventLog -LogName System -Newest 5
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13820 Jan 17 19:16 Error DCOM 10016 The description for Event...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event...
13818 Jan 17 19:06 Information Service Control... 1073748864 The start type of the Back...
13817 Jan 17 19:05 Error DCOM 10016 The description for Event...
13815 Jan 17 19:03 Information Microsoft-Windows... 35 The time service is now sync...
Il cmdlet Get-EventLog usa il parametro LogName per specificare il registro eventi di sistema. Il parametro più recente restituisce i cinque eventi più recenti.
Esempio 3: Trovare tutte le origini per un numero specifico di voci in un registro eventi
In questo esempio viene illustrato come trovare tutte le origini incluse nelle 1000 voci più recenti nel registro eventi di sistema.
$Events = Get-EventLog -LogName System -Newest 1000
$Events | Group-Object -Property Source -NoElement | Sort-Object -Property Count -Descending
Count Name
----- ----
110 DCOM
65 Service Control Manager
51 Microsoft-Windows-Kern...
14 EventLog
14 BTHUSB
13 Win32k
Il cmdlet $Events. Gli oggetti $Events vengono inviati alla pipeline al cmdlet Group-Object.
Esempio 4: Ottenere eventi di errore da un registro eventi specifico
In questo esempio vengono generati eventi di errore dal registro eventi di sistema.
Get-EventLog -LogName System -EntryType Error
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13296 Jan 16 13:53 Error DCOM 10016 The description for Event ID '10016' in Source...
13291 Jan 16 13:51 Error DCOM 10016 The description for Event ID '10016' in Source...
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
Il cmdlet
Esempio 5: Ottenere eventi da un registro eventi con un valore InstanceId e Source
In questo esempio vengono ottenuti eventi dal log di sistema per un Valore InstanceId e Un'origine specifici.
Get-EventLog -LogName System -InstanceId 10016 -Source DCOM
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13245 Jan 16 11:45 Error DCOM 10016 The description for Event ID '10016' in Source...
13230 Jan 16 11:07 Error DCOM 10016 The description for Event ID '10016' in Source...
13219 Jan 16 10:00 Error DCOM 10016 The description for Event ID '10016' in Source...
Il cmdlet
Esempio 6: Ottenere eventi da più computer
Questo comando ottiene gli eventi dal registro eventi di sistema in tre computer: Server01, Server02 e Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
Il cmdlet
Esempio 7: Ottenere tutti gli eventi che includono una parola specifica nel messaggio
Questo comando ottiene tutti gli eventi nel registro eventi di sistema che contengono una parola specifica nel messaggio dell'evento. È possibile che il valore del parametro message specificato sia incluso nel contenuto del messaggio, ma non sia visualizzato nella console di PowerShell.
Get-EventLog -LogName System -Message *description*
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 19:17 Error DCOM 10016 The description for Event ID '10016'...
13820 Jan 17 19:16 Error DCOM 10016 The description for Event ID '10016'...
13819 Jan 17 19:08 Error DCOM 10016 The description for Event ID '10016'...
Il cmdlet Get-EventLog usa il parametro LogName per specificare il registro eventi di sistema. Il parametro message
Esempio 8: Visualizzare i valori delle proprietà di un evento
In questo esempio viene illustrato come visualizzare tutte le proprietà e i valori di un evento.
$A = Get-EventLog -LogName System -Newest 1
$A | Select-Object -Property *
EventID : 10016
MachineName : localhost
Data : {}
Index : 13821
Category : (0)
CategoryNumber : 0
EntryType : Error
Message : The description for Event ID '10016' in Source 'DCOM'...
Source : DCOM
ReplacementStrings : {Local,...}
InstanceId : 10016
TimeGenerated : 1/17/2019 19:17:23
TimeWritten : 1/17/2019 19:17:23
UserName : username
Site :
Container :
Il cmdlet Get-EventLog usa il parametro LogName per specificare il registro eventi di sistema. Il parametro più recente seleziona l'oggetto evento più recente. L'oggetto viene archiviato nella variabile $A. L'oggetto nella variabile $A viene inviato alla pipeline al cmdlet Select-Object.
Esempio 9: Ottenere eventi da un registro eventi usando un'origine e un ID evento
Questo esempio ottiene gli eventi per un id origine e un ID evento specificati.
Get-EventLog -LogName Application -Source Outlook | Where-Object {$_.EventID -eq 63} |
Select-Object -Property Source, EventID, InstanceId, Message
Source EventID InstanceId Message
------ ------- ---------- -------
Outlook 63 1073741887 The Exchange web service request succeeded.
Outlook 63 1073741887 Outlook detected a change notification.
Outlook 63 1073741887 The Exchange web service request succeeded.
Il cmdlet Where-Object. Per ogni oggetto nella pipeline, il cmdlet Where-Object usa la variabile $_.EventID per confrontare la proprietà ID evento con il valore specificato. Gli oggetti vengono inviati alla pipeline al cmdlet Select-Object.
Esempio 10: Ottenere eventi e raggruppare in base a una proprietà
Get-EventLog -LogName System -UserName NT* | Group-Object -Property UserName -NoElement |
Select-Object -Property Count, Name
Count Name
----- ----
6031 NT AUTHORITY\SYSTEM
42 NT AUTHORITY\LOCAL SERVICE
4 NT AUTHORITY\NETWORK SERVICE
Il cmdlet Group-Object. Select-Object.
Esempio 11: Ottenere eventi che si sono verificati durante un intervallo di data e ora specifico
Questo esempio ottiene gli eventi Error dal registro eventi di sistema per un intervallo di data e ora specificato. Il Before e After parametri impostano l'intervallo di data e ora, ma vengono esclusi dall'output.
$Begin = Get-Date -Date '1/17/2019 08:00:00'
$End = Get-Date -Date '1/17/2019 17:00:00'
Get-EventLog -LogName System -EntryType Error -After $Begin -Before $End
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
13821 Jan 17 13:40 Error DCOM 10016 The description for Event ID...
13820 Jan 17 13:11 Error DCOM 10016 The description for Event ID...
...
12372 Jan 17 10:08 Error DCOM 10016 The description for Event ID...
12371 Jan 17 09:04 Error DCOM 10016 The description for Event ID...
Il cmdlet $Begin e dal parametro Before e dalla variabile $End.
Parametri
-After
Ottiene gli eventi che si sono verificati dopo una data e un'ora specificate. Il Dopo la data e l'ora del parametro vengono esclusi dall'output. Immettere un oggetto DateTime
Proprietà dei parametri
| Tipo: | DateTime |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-AsBaseObject
Indica che questo cmdlet restituisce un oggetto System.Diagnostics.EventLogEntry per ogni evento. Senza questo parametro,
Per visualizzare l'effetto di questo parametro, inviare tramite pipe gli eventi al cmdlet
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-AsString
Indica che questo cmdlet restituisce l'output come stringhe, anziché come oggetti.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
List
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Before
Ottiene gli eventi che si sono verificati prima di una data e un'ora specificati. Il Prima la data e l'ora del parametro vengono esclusi dall'output. Immettere un oggetto DateTime
Proprietà dei parametri
| Tipo: | DateTime |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ComputerName
Questo parametro specifica il nome NetBIOS di un computer remoto, l'indirizzo IP (Internet Protocol) o un nome di dominio completo (FQDN).
Se il parametro ComputerName .) per specificare il computer locale.
Il parametro ComputerName non si basa sulla comunicazione remota di Windows PowerShell. È possibile usare Get-EventLog con il parametro ComputerName anche se il computer non è configurato per l'esecuzione di comandi remoti.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | CN |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-EntryType
Specifica, come matrice di stringhe, il tipo di voce degli eventi che questo cmdlet ottiene.
I valori accettabili per questo parametro sono:
- Errore
- Informazione
- ErroreControllo
- SuccessoAudit
- Avvertimento
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Valori accettati: | Error, Information, FailureAudit, SuccessAudit, Warning |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Ora Orientale |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Index
Specifica i valori di indice da ottenere dal registro eventi. Il parametro accetta una stringa delimitata da virgole di valori.
Proprietà dei parametri
| Tipo: | Int32[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-InstanceId
Specifica gli ID istanza da ottenere dal registro eventi. Il parametro accetta una stringa delimitata da virgole di valori.
Proprietà dei parametri
| Tipo: | Int64[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
LogName
| Posizione: | 1 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-List
Visualizza l'elenco dei registri eventi nel computer.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
List
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-LogName
Specifica il nome di un registro eventi. Per trovare i nomi dei log, usare Get-EventLog -List. Sono consentiti caratteri jolly. Questo parametro è obbligatorio.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
| Alias: | LN |
Set di parametri
LogName
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Message
Specifica una stringa nel messaggio dell'evento. È possibile usare questo parametro per cercare messaggi contenenti determinate parole o frasi. Sono consentiti i metacaratteri.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
| Alias: | Glutammato Monosodico |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Newest
Inizia con gli eventi più recenti e ottiene il numero specificato di eventi. Il numero di eventi è obbligatorio, ad esempio -Newest 100. Specifica il numero massimo di eventi restituiti.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Source
Specifica, come matrice di stringhe, le origini scritte nel log restituito da questo cmdlet. Sono consentiti i metacaratteri.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
| Alias: | ABO |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-UserName
Specifica, come matrice di stringhe, nomi utente associati agli eventi. Immettere nomi o modelli di nome, ad esempio User01, User*o Domain01\User*. Sono consentiti i metacaratteri.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
LogName
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
None
Non è possibile inviare tramite pipe l'input a Get-EventLog.
Output
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Se viene specificato il parametro
Se viene specificato solo il parametro List
Se vengono specificati entrambi i parametri List
Note
I cmdlet Get-EventLog e Get-WinEvent non sono supportati nell'ambiente preinstallazione di Windows (Windows PE).