Get-EventLog
Získá události v protokolu událostí nebo seznam protokolů událostí v místním počítači nebo vzdálených počítačích.
Syntax
LogName (Výchozí)
Get-EventLog
[-LogName] <string>
[[-InstanceId] <long[]>]
[-ComputerName <string[]>]
[-Newest <int>]
[-After <datetime>]
[-Before <datetime>]
[-UserName <string[]>]
[-Index <int[]>]
[-EntryType <String[]>]
[-Source <String[]>]
[-Message <String>]
[-AsBaseObject]
[<CommonParameters>]
List
Get-EventLog
[-ComputerName <String[]>]
[-List]
[-AsString]
[<CommonParameters>]
Description
Rutina Get-EventLog získává události a protokoly událostí z místních a vzdálených počítačů. Ve výchozím nastavení Get-EventLog získává protokoly z místního počítače. Pokud chcete získat protokoly ze vzdálených počítačů, použijte parametr ComputerName.
K vyhledání událostí můžete použít parametry Get-EventLog a hodnoty vlastností. Rutina získá události, které odpovídají zadaným hodnotám vlastnosti.
Rutiny PowerShellu, které obsahují EventLog podstatné jméno, fungují jenom v klasických protokolech událostí Windows, jako jsou aplikace, systém nebo zabezpečení. Chcete-li získat protokoly, které používají technologii protokolu událostí systému Windows v systému Windows Vista a novějších verzích systému Windows, použijte Get-WinEvent.
Příklady
Příklad 1: Získání protokolů událostí na místním počítači
Tento příklad zobrazí seznam protokolů událostí, které jsou k dispozici v místním počítači. Názvy ve sloupci Protokol se používají s parametrem LogName k určení, který protokol se hledá pro události.
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
Rutina Get-EventLog používá k zobrazení dostupných protokolů parametr List.
Příklad 2: Získání nedávných položek z protokolu událostí v místním počítači
Tento příklad získá nedávné položky z protokolu událostí systému.
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...
Rutina Get-EventLog používá k určení protokolu událostí systému parametr LogName. Parametr Nejnovější vrátí pět nejnovějších událostí.
Příklad 3: Vyhledání všech zdrojů pro určitý počet položek v protokolu událostí
Tento příklad ukazuje, jak najít všechny zdroje, které jsou zahrnuty do 1000 nejnovějších položek v protokolu událostí systému.
$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
Rutina Get-EventLog používá k určení systémového protokolu parametr LogName. Parametr Nejnovější vybere 1000 nejnovějších událostí. Objekty událostí jsou uloženy v proměnné $Events. Objekty $Events se odesílají do Group-Object rutiny.
Příklad 4: Získání chybových událostí z konkrétního protokolu událostí
Tento příklad získá chybové události z systémového protokolu událostí.
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...
Rutina Get-EventLog používá k určení systémového protokolu parametr LogName. Parametr EntryType filtruje události tak, aby zobrazovaly pouze chybové události.
Příklad 5: Získání událostí z protokolu událostí s hodnotou InstanceId a Source
Tento příklad získá události z systémového protokolu pro konkrétní ID instance a zdroj.
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...
Rutina Get-EventLog používá k určení systémového protokolu parametr LogName. Parametr InstanceID vybere události se zadaným ID instance. Parametr Source určuje vlastnost události.
Příklad 6: Získání událostí z více počítačů
Tento příkaz získá události z protokolu událostí systému na třech počítačích: Server01, Server02 a Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
Rutina Get-EventLog používá k určení systémového protokolu parametr LogName. Parametr ComputerName používá řetězec oddělený čárkami k výpisu počítačů, ze kterých chcete získat protokoly událostí.
Příklad 7: Získání všech událostí, které obsahují určité slovo ve zprávě
Tento příkaz získá všechny události v protokolu událostí systému, které obsahují určité slovo ve zprávě události. Je možné, že zadaná hodnota Message parametru je zahrnutá do obsahu zprávy, ale nezobrazuje se v konzole PowerShellu.
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'...
Rutina Get-EventLog používá k určení protokolu událostí systému parametr LogName. Parametr Message určuje slovo, které se má vyhledat v poli zprávy každé události.
Příklad 8: Zobrazení hodnot vlastností události
Tento příklad ukazuje, jak zobrazit všechny vlastnosti a hodnoty události.
$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 :
Rutina Get-EventLog používá k určení protokolu událostí systému parametr LogName. Parametr Nejnovější vybere poslední objekt události. Objekt je uložen v proměnné $A. Objekt v proměnné $A se odešle do kanálu do rutiny Select-Object.
Select-Object pomocí parametru Vlastnost hvězdičkou (*) vybere všechny vlastnosti objektu.
Příklad 9: Získání událostí z protokolu událostí pomocí zdroje a ID události
Tento příklad získá události pro zadaný zdroj a ID události.
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.
Rutina Get-EventLog používá k určení protokolu událostí aplikace parametr LogName. Parametr Source určuje název aplikace Outlook. Objekty se odesílají do Where-Object rutiny. Pro každý objekt v kanálu používá rutina Where-Object proměnnou $_.EventID k porovnání vlastnosti ID události se zadanou hodnotou. Objekty se odesílají do Select-Object rutiny.
Příklad 10: Získání událostí a seskupení podle vlastnosti
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
Rutina Get-EventLog používá k určení systémového protokolu parametr LogName. Parametr UserName obsahuje zástupný znak hvězdičky (*), který určuje část uživatelského jména. Objekty událostí se odesílají do kanálu do rutiny Group-Object.
Group-Object pomocí parametru Vlastnost určuje, že vlastnost UserName se používá k seskupení objektů a počítání objektů pro každé uživatelské jméno. Parametr NoElement odebere členy skupiny z výstupu. Objekty se odesílají do Select-Object rutiny.
Příklad 11: Získání událostí, ke kterým došlo během určitého data a časového rozsahu
Tento příklad získá chybové události z systémového protokolu událostí pro zadané datum a časový rozsah. Parametry Před a Po nastaví rozsah data a času, ale jsou z výstupu vyloučeny.
$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...
Rutina Get-Date používá parametr Date k určení data a času. Objekty DateTime jsou uloženy v $Begin a $End proměnných. Rutina Get-EventLog používá k určení systémového protokolu parametr LogName. Parametr EntryType určuje typ události Error. Rozsah data a času je nastaven parametrem After a proměnnou $Begin a Před parametrem a proměnnou $End.
Parametry
-After
Získá události, ke kterým došlo po zadaném datu a čase. Datum a čas parametru Po jsou z výstupu vyloučeny. Zadejte objekt DateTime, například hodnotu vrácenou rutinou Get-Date.
Vlastnosti parametru
| Typ: | DateTime |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-AsBaseObject
Označuje, že tato rutina vrací standardní System.Diagnostics.EventLogEntry objekt pro každou událost. Bez tohoto parametru Get-EventLog vrátí rozšířený objekt PSObject s dalšími vlastnostmi EventLogName, Sourcea InstanceId.
Pokud chcete zobrazit účinek tohoto parametru, předáte události do rutiny Get-Member a zkontrolujte hodnotu TypeName ve výsledku.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-AsString
Označuje, že tato rutina vrací výstup jako řetězce místo objektů.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
List
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Before
Získá události, ke kterým došlo před zadaným datem a časem. Z výstupu jsou vyloučeny Před datem a časem parametru. Zadejte objekt DateTime, například hodnotu vrácenou rutinou Get-Date.
Vlastnosti parametru
| Typ: | DateTime |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-ComputerName
Tento parametr určuje název netBIOS vzdáleného počítače, IP adresu (Internet Protocol) nebo plně kvalifikovaný název domény (FQDN).
Pokud není zadaný parametr ComputerName, Get-EventLog výchozí nastavení místního počítače. Parametr také přijímá tečku (.) k určení místního počítače.
Parametr ComputerName nespoléhá na vzdálené komunikace Windows PowerShellu.
Get-EventLog můžete použít s parametrem ComputerName i v případě, že váš počítač není nakonfigurovaný ke spouštění vzdálených příkazů.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Kn |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-EntryType
Určuje jako pole řetězců typ položky událostí, které tato rutina získá.
Přijatelné hodnoty pro tento parametr jsou:
- Chyba
- Informace
- Auditu selhání
- Úspěšný audit
- Výstraha
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Přípustné hodnoty: | Error, Information, FailureAudit, SuccessAudit, Warning |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | ET |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Index
Určuje hodnoty indexu, které se mají získat z protokolu událostí. Parametr přijímá řetězec hodnot oddělený čárkami.
Vlastnosti parametru
| Typ: | int[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-InstanceId
Určuje ID instancí, která se mají získat z protokolu událostí. Parametr přijímá řetězec hodnot oddělený čárkami.
Vlastnosti parametru
| Typ: | long[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
LogName
| Position: | 1 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-List
Zobrazí seznam protokolů událostí v počítači.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
List
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-LogName
Určuje název jednoho protokolu událostí. K vyhledání názvů protokolů použijte Get-EventLog -List. Jsou povoleny zástupné znaky. Tento parametr je povinný.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
| Aliasy: | LN |
Sady parametrů
LogName
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Message
Určuje řetězec ve zprávě události. Tento parametr můžete použít k vyhledání zpráv obsahujících určitá slova nebo fráze. Jsou povoleny zástupné symboly.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
| Aliasy: | Glutamát sodný |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Newest
Začíná nejnovějšími událostmi a získá zadaný počet událostí. Je vyžadován počet událostí, například -Newest 100. Určuje maximální počet vrácených událostí.
Vlastnosti parametru
| Typ: | Int |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Source
Určuje jako pole řetězců zdroje, které byly zapsány do protokolu, který tato rutina získá. Jsou povoleny zástupné symboly.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
| Aliasy: | DOMORODEC |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-UserName
Určuje jako pole řetězců uživatelská jména přidružená k událostem. Zadejte názvy nebo vzory názvů, například User01, User*nebo Domain01\User*. Jsou povoleny zástupné symboly.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
LogName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
None
Vstup do Get-EventLognelze převést .
Výstupy
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Pokud je zadaný parametr LogName, výstup je kolekce objektů System.Diagnostics.EventLogEnt ry.
Pokud je zadán pouze parametr Seznam, výstup je kolekce System.Diagnostics.EventLog objekty.
Pokud jsou zadány parametry
Poznámky
Rutiny Get-EventLog a Get-WinEvent nejsou podporovány v prostředí Windows Preinstallation Environment (Windows PE).