Get-EventLog
Hämtar händelserna i en händelselogg, eller en lista över händelseloggarna, på den lokala datorn eller fjärrdatorerna.
Syntax
LogName (Standard)
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>]
Description
Cmdleten Get-EventLog hämtar händelser och händelseloggar från lokala datorer och fjärrdatorer. Som standard hämtar Get-EventLog 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 Get-EventLog parametrar och egenskapsvärden för att söka efter händelser. Cmdleten hämtar händelser som matchar de angivna egenskapsvärdena.
PowerShell-cmdletar som innehåller EventLog substantiv fungerar 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.
Anmärkning
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 parametern LogName för att ange vilken logg som sö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 parametern LogName för att ange systemhändelseloggen. Parametern Senaste 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 parametern LogName för att ange systemloggen. Parametern Senaste väljer de 1 000 senaste händelserna. Händelseobjekten lagras i variabeln $Events. De $Events objekten skickas ned i pipelinen till cmdleten Group-Object.
Group-Object använder parametern Egenskap 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 property för att sortera efter antalet källnamn.
Parametern Fallande 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 parametern LogName 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 parametern LogName 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 parametern LogName för att ange systemloggen. Parametern ComputerName använder en kommaavgränsad sträng för att visa de datorer som du vill hämta händelseloggarna från.
Exempel 7: Hämta alla händelser som innehåller ett specifikt 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 message parameterns 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 parametern LogName 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 parametern LogName för att ange systemhändelseloggen. Parametern Senaste väljer det senaste händelseobjektet. Objektet lagras i variabeln $A. Objektet i variabeln $A skickas ned i pipelinen till cmdleten Select-Object.
Select-Object använder parametern Property med en asterisk (*) för att markera alla objektegenskaper.
Exempel 9: Hämta händelser från en händelselogg med hjälp av ett käll- och 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 parametern LogName för att ange programhändelseloggen. Parametern Source anger programnamnet Outlook. Objekten skickas ned i pipelinen till cmdleten Where-Object. För varje objekt i pipelinen använder cmdleten Where-Object variabeln $_.EventID för att jämföra egenskapen Händelse-ID med det angivna värdet. Objekten skickas ned i pipelinen till cmdleten Select-Object.
Select-Object använder parametern Property 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 parametern LogName för att ange systemloggen. Parametern UserName innehåller jokertecknet asterisk (*) för att ange en del av användarnamnet. Händelseobjekten skickas ned 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 i pipelinen till cmdleten Select-Object.
Select-Object använder parametern Property 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 tidsintervall 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. Objekten DateTime lagras i variablerna $Begin och $End. Cmdleten Get-EventLog använder parametern LogName för att ange systemloggen. Parametern EntryType anger händelsetypen Fel. Datum- och tidsintervallet anges av parametern Efter och $Begin och parametern Före och $End variabel.
Parametrar
-After
Hämtar händelser som inträffat efter ett angivet datum och en angiven tid.
Efter parameterdatum och -tid undantas från utdata. Ange ett DateTime- objekt, till exempel värdet som returneras av cmdleten Get-Date.
Parameteregenskaper
| Typ: | DateTime |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-AsBaseObject
Anger att den här cmdleten returnerar standardobjektet System.Diagnostics.EventLogEntry för varje händelse. Utan den här parametern returnerar Get-EventLog ett utökat PSObject--objekt med ytterligare egenskaper EventLogName, Sourceoch InstanceId.
Om du vill se effekten av den här parametern dirigerar du händelserna till cmdleten Get-Member och undersöker värdet TypeName i resultatet.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-AsString
Anger att den här cmdleten returnerar utdata som strängar i stället för objekt.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
List
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Before
Hämtar händelser som inträffat före ett angivet datum och en angiven tid.
Före parameterdatum och -tid undantas från utdata. Ange ett DateTime- objekt, till exempel värdet som returneras av cmdleten Get-Date.
Parameteregenskaper
| Typ: | DateTime |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-ComputerName
Den här parametern anger en fjärrdators NetBIOS-namn, IP-adress (Internet Protocol) eller ett fullständigt domännamn (FQDN).
Om parametern ComputerName inte har angetts Get-EventLog standardinställningen för den lokala datorn. 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 är konfigurerad för att köra fjärrkommandon.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | Cn |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-EntryType
Anger, som en strängmatris, posttypen för de händelser som denna cmdlet hämtar.
De godtagbara värdena för den här parametern är:
- Fel
- Information
- FailureAudit (på engelska)
- Lyckad granskning
- Varning
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Godkända värden: | Error, Information, FailureAudit, SuccessAudit, Warning |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | ET |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Index
Anger de indexvärden som ska hämtas från händelseloggen. Parametern accepterar en kommaavgränsad sträng med värden.
Parameteregenskaper
| Typ: | Int32[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-InstanceId
Anger instans-ID:t som ska hämtas från händelseloggen. Parametern accepterar en kommaavgränsad sträng med värden.
Parameteregenskaper
| Typ: | Int64[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
LogName
| Position: | 1 |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-List
Visar listan över händelseloggar på datorn.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
List
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-LogName
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.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
| Alias: | LN |
Parameteruppsättningar
LogName
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Message
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.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
| Alias: | mononatriumglutamat (MSG) |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Newest
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.
Parameteregenskaper
| Typ: | Int32 |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Source
Anger källor som skrivits till loggen som cmdleten hämtar som en strängmatris. Jokertecken tillåts.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
| Alias: | ABO |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-UserName
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.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
LogName
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
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 parametern List 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).