Get-EventLog
Hämtar händelserna i en händelselogg, eller en lista över händelseloggarna, på den lokala datorn eller fjärrdatorerna.
Syntax
Get-EventLog
[-LogName] <String>
[-ComputerName <String[]>]
[-Newest <Int32>]
[-After <DateTime>]
[-Before <DateTime>]
[-UserName <String[]>]
[[-InstanceId] <Int64[]>]
[-Index <Int32[]>]
[-EntryType <String[]>]
[-Source <String[]>]
[-Message <String>]
[-AsBaseObject]
[<CommonParameters>]
Get-EventLog
[-ComputerName <String[]>]
[-List]
[-AsString]
[<CommonParameters>]
Description
Cmdleten Get-EventLog hämtar händelser och händelseloggar från lokala datorer och fjärrdatorer. Som standard Get-EventLog hämtar loggar från den lokala datorn. Om du vill hämta loggar från fjärrdatorer använder du parametern ComputerName .
Du kan använda parametrarna och egenskapsvärdena Get-EventLog för att söka efter händelser. Cmdleten hämtar händelser som matchar de angivna egenskapsvärdena.
PowerShell-cmdletar som innehåller substantiv fungerar EventLog endast i klassiska Windows-händelseloggar som Program, System eller Säkerhet. Om du vill hämta loggar som använder Windows-händelseloggtekniken i Windows Vista och senare Windows-versioner använder du Get-WinEvent.
Anteckning
Get-EventLog använder ett Win32-API som är inaktuellt. Resultaten kanske inte är korrekta. Använd cmdleten Get-WinEvent i stället.
Exempel
Exempel 1: Hämta händelseloggar på den lokala datorn
I det här exemplet visas en lista över händelseloggar som är tillgängliga på den lokala datorn. Namnen i kolumnen Log används med logname-parametern för att ange vilken logg som genomsöks efter händelser.
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
Cmdleten Get-EventLog använder parametern List för att visa tillgängliga loggar.
Exempel 2: Hämta de senaste posterna från en händelselogg på den lokala datorn
Det här exemplet hämtar de senaste posterna från systemhändelseloggen.
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...
Cmdleten Get-EventLog använder logname-parametern för att ange systemhändelseloggen. Parametern Newest returnerar de fem senaste händelserna.
Exempel 3: Hitta alla källor för ett visst antal poster i en händelselogg
Det här exemplet visar hur du hittar alla källor som ingår i de 1 000 senaste posterna i systemhändelseloggen.
$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
Cmdleten Get-EventLog använder logname-parametern för att ange systemloggen. Parametern Newest väljer de 1 000 senaste händelserna. Händelseobjekten lagras i variabeln $Events . Objekten $Events skickas nedåt i pipelinen till cmdleten Group-Object .
Group-Objectanvänder egenskapsparametern för att gruppera objekten efter källa och räknar antalet objekt för varje källa. Parametern NoElement tar bort gruppmedlemmarna från utdata.
Cmdleten Sort-Object använder parametern Egenskap för att sortera efter antalet för varje källnamn.
Parametern Descending sorterar listan i ordning efter antal från högsta till lägsta.
Exempel 4: Hämta felhändelser från en specifik händelselogg
Det här exemplet hämtar felhändelser från systemhändelseloggen.
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...
Cmdleten Get-EventLog använder logname-parametern för att ange systemloggen. Parametern EntryType filtrerar händelserna så att endast felhändelser visas.
Exempel 5: Hämta händelser från en händelselogg med ett InstanceId och källvärde
Det här exemplet hämtar händelser från systemloggen för ett specifikt InstanceId och källa.
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...
Cmdleten Get-EventLog använder logname-parametern för att ange systemloggen. Parametern InstanceID väljer händelserna med angivet instans-ID. Parametern Source anger händelseegenskapen.
Exempel 6: Hämta händelser från flera datorer
Det här kommandot hämtar händelserna från systemhändelseloggen på tre datorer: Server01, Server02 och Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
Cmdleten Get-EventLog använder logname-parametern för att ange systemloggen. Parametern ComputerName använder en kommaavgränsad sträng för att lista de datorer som du vill hämta händelseloggarna från.
Exempel 7: Hämta alla händelser som innehåller ett visst ord i meddelandet
Det här kommandot hämtar alla händelser i systemhändelseloggen som innehåller ett specifikt ord i händelsens meddelande. Det är möjligt att den angivna meddelandeparameterns värde ingår i meddelandets innehåll men inte visas i PowerShell-konsolen.
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'...
Cmdleten Get-EventLog använder logname-parametern för att ange systemhändelseloggen. Parametern Message anger ett ord att söka efter i meddelandefältet för varje händelse.
Exempel 8: Visa egenskapsvärdena för en händelse
Det här exemplet visar hur du visar alla egenskaper och värden för en händelse.
$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 :
Cmdleten Get-EventLog använder logname-parametern för att ange systemhändelseloggen. Parametern Newest väljer det senaste händelseobjektet. Objektet lagras i variabeln $A . Objektet i variabeln $A skickas nedåt i pipelinen till cmdleten Select-Object .
Select-Objectanvänder egenskapsparametern med en asterisk (*) för att markera alla objektets egenskaper.
Exempel 9: Hämta händelser från en händelselogg med hjälp av en källa och ett händelse-ID
Det här exemplet hämtar händelser för ett angivet käll- och händelse-ID.
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.
Cmdleten Get-EventLog använder logname-parametern för att ange programhändelseloggen. Parametern Source anger programnamnet Outlook. Objekten skickas nedåt i pipelinen till cmdleten Where-Object . För varje objekt i pipelinen Where-Object använder cmdleten variabeln $_.EventID för att jämföra egenskapen Händelse-ID med det angivna värdet. Objekten skickas nedåt i pipelinen till cmdleten Select-Object . Select-Object använder parametern Egenskap för att välja de egenskaper som ska visas i PowerShell-konsolen.
Exempel 10: Hämta händelser och gruppera efter en egenskap
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
Cmdleten Get-EventLog använder logname-parametern för att ange systemloggen. Parametern UserName innehåller jokertecknet asterisk (*) för att ange en del av användarnamnet. Händelseobjekten skickas nedåt i pipelinen till cmdleten Group-Object . Group-Object använder parametern Egenskap för att ange att egenskapen UserName används för att gruppera objekten och räkna antalet objekt för varje användarnamn. Parametern NoElement tar bort gruppmedlemmarna från utdata. Objekten skickas nedåt i pipelinen till cmdleten Select-Object .
Select-Object använder parametern Egenskap för att välja de egenskaper som ska visas i PowerShell-konsolen.
Exempel 11: Hämta händelser som inträffat under ett visst datum- och tidsintervall
Det här exemplet hämtar felhändelser från systemhändelseloggen för ett angivet datum- och tidsintervall. Parametrarna Före och Efter anger datum- och tidsintervallet men undantas från utdata.
$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...
Cmdleten Get-Date använder parametern Date för att ange ett datum och en tid. DateTime-objekten lagras i variablerna $Begin och $End . Cmdleten Get-EventLog använder logname-parametern för att ange systemloggen. Parametern EntryType anger händelsetypen Fel. Datum- och tidsintervallet anges av parametern Efter och $Beginvariabeln och före-parametern och $End variabeln.
Parametrar
Hämtar händelser som inträffat efter ett angivet datum och en angiven tid. Efterparameterns datum och tid undantas från utdata. Ange ett DateTime-objekt , till exempel det värde som returneras av cmdleten Get-Date .
| Type: | DateTime |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger att denna cmdlet returnerar ett System.Diagnostics.EventLogEntry-standardobjekt för varje händelse. Utan den här parametern Get-EventLog returnerar ett utökat PSObject-objekt med ytterligare egenskaper för EventLogName, Source och InstanceId .
Om du vill se effekten av den här parametern dirigerar du händelserna till cmdleten Get-Member och undersöker TypeName-värdet i resultatet.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger att den här cmdleten returnerar utdata som strängar i stället för objekt.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hämtar händelser som inträffat före ett angivet datum och en angiven tid. Datum och tid för före-parametern undantas från utdata. Ange ett DateTime-objekt , till exempel värdet som returneras av cmdleten Get-Date .
| Type: | DateTime |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Den här parametern anger en fjärrdators NetBIOS-namn, IP-adress (Internet Protocol) eller ett fullständigt kvalificerat domännamn (FQDN).
Om parametern ComputerName inte har angetts används Get-EventLog den lokala datorn som standard. Parametern accepterar också en punkt (.) för att ange den lokala datorn.
Parametern ComputerName förlitar sig inte på Windows PowerShell fjärrkommunikation. Du kan använda Get-EventLog med parametern ComputerName även om datorn inte har konfigurerats för att köra fjärrkommandon.
| Type: | String[] |
| Aliases: | Cn |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger, som en strängmatris, posttypen för de händelser som denna cmdlet får.
De acceptabla värdena för den här parametern är:
- Fel
- Information
- FailureAudit
- SuccessAudit
- Varning
| Type: | String[] |
| Aliases: | ET |
| Accepted values: | Error, Information, FailureAudit, SuccessAudit, Warning |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger de indexvärden som ska hämtas från händelseloggen. Parametern accepterar en kommaavgränsad sträng med värden.
| Type: | Int32[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger instans-ID:t som ska hämtas från händelseloggen. Parametern accepterar en kommaavgränsad sträng med värden.
| Type: | Int64[] |
| Position: | 1 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Visar listan över händelseloggar på datorn.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger namnet på en händelselogg. Om du vill hitta loggnamnen använder du Get-EventLog -List. Jokertecken tillåts. Den här parametern krävs.
| Type: | String |
| Aliases: | LN |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Anger en sträng i händelsemeddelandet. Du kan använda den här parametern för att söka efter meddelanden som innehåller vissa ord eller fraser. Jokertecken tillåts.
| Type: | String |
| Aliases: | MSG |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Börjar med de senaste händelserna och hämtar det angivna antalet händelser. Antalet händelser krävs, till exempel -Newest 100. Anger det maximala antalet händelser som returneras.
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger källor som skrivits till loggen som cmdleten hämtar som en strängmatris. Jokertecken tillåts.
| Type: | String[] |
| Aliases: | ABO |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Anger användarnamn som är associerade med händelser som en strängmatris. Ange namn eller namnmönster, till exempel User01, User*eller Domain01\User*. Jokertecken tillåts.
| Type: | String[] |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | True |
Indata
None
Du kan inte skicka indata till Get-EventLog.
Utdata
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Om parametern LogName anges är utdata en samling System.Diagnostics.EventLogEntry-objekt .
Om endast listparametern anges är utdata en samling System.Diagnostics.EventLog-objekt .
Om både parametrarna List och AsString anges är utdata en samling System.String-objekt .
Kommentarer
Cmdletarna Get-EventLog och Get-WinEvent stöds inte i Windows Preinstallation Environment (Windows PE).
Relaterade länkar
Feedback
Skicka och visa feedback för