Get-EventLog
Lekéri az eseményeket egy eseménynaplóban vagy az eseménynaplók listájában a helyi számítógépen vagy távoli számítógépeken.
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
A Get-EventLog
parancsmag helyi és távoli számítógépekről lekéri az eseményeket és az eseménynaplókat. Alapértelmezés szerint Get-EventLog
naplókat kap a helyi számítógépről. Ha távoli számítógépekről szeretne naplókat lekérni, használja a ComputerName paramétert.
A Get-EventLog
paraméterekkel és tulajdonságértékekkel eseményeket kereshet. A parancsmag a megadott tulajdonságértékekkel egyező eseményeket kap.
A EventLog
főnévvel rendelkező PowerShell-parancsmagok csak a Windows klasszikus eseménynaplóiban működnek, például az alkalmazáson, a rendszeren vagy a biztonságon. A Windows Event Log technológiát Windows Vista és újabb Windows-verziókban használó naplók lekéréséhez használja a Get-WinEvent
.
Jegyzet
Get-EventLog
elavult Win32 API-t használ. Előfordulhat, hogy az eredmények nem pontosak. Használja inkább a Get-WinEvent
parancsmagot.
Példák
1. példa: Eseménynaplók lekérése a helyi számítógépen
Ez a példa a helyi számítógépen elérhető eseménynaplók listáját jeleníti meg. A Napló oszlopban szereplő nevek a LogName paraméterrel vannak használva annak megadásához, hogy melyik naplóban keresnek eseményeket.
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
A Get-EventLog
parancsmag a Lista paramétert használja az elérhető naplók megjelenítéséhez.
2. példa: Legutóbbi bejegyzések lekérése egy eseménynaplóból a helyi számítógépen
Ez a példa a rendszer eseménynaplójából szerzi be a legutóbbi bejegyzéseket.
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...
A Get-EventLog
parancsmag a LogName paramétert használja a rendszer eseménynaplójának megadásához. A Legújabb paraméter az öt legutóbbi eseményt adja vissza.
3. példa: Adott számú bejegyzés összes forrásának megkeresése egy eseménynaplóban
Ez a példa bemutatja, hogyan keresheti meg a rendszer eseménynaplójának 1000 legutóbbi bejegyzésében szereplő összes forrást.
$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
A Get-EventLog
parancsmag a LogName paramétert használja a rendszernapló megadásához. A Legújabb paraméter az 1000 legutóbbi eseményt választja ki. Az eseményobjektumok a $Events
változóban vannak tárolva. A $Events
objektumokat a rendszer elküldi a folyamaton a Group-Object
parancsmagnak.
Group-Object
a Tulajdonság paraméter használatával csoportosítja az objektumokat forrás szerint, és megszámolja az egyes forrásobjektumok számát. A NoElement paraméter eltávolítja a csoporttagokat a kimenetből.
A Sort-Object
parancsmag a Tulajdonság paraméter használatával rendezi az egyes forrásnevek számát.
A csökkenő paraméter a listát a legmagasabbtól a legalacsonyabbig számítva rendezi sorrendbe.
4. példa: Hibaesemények lekérése egy adott eseménynaplóból
Ez a példa hibaeseményeket kap a rendszer eseménynaplójából.
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...
A Get-EventLog
parancsmag a LogName paramétert használja a rendszernapló megadásához. A EntryType paraméter csak a hibaesemények megjelenítésére szűri az eseményeket.
5. példa: Események lekérése eseménynaplóból InstanceId és Forrás értékkel
Ez a példa egy adott InstanceId és forrás rendszernaplójából szerzi be az eseményeket.
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...
A Get-EventLog
parancsmag a LogName paramétert használja a rendszernapló megadásához. A InstanceId paraméter a megadott példányazonosítóval rendelkező eseményeket választja ki. A Forrás paraméter határozza meg az eseménytulajdonságot.
6. példa: Események lekérése több számítógépről
Ez a parancs lekéri az eseményeket a rendszer eseménynaplójából három számítógépen: Server01, Server02 és Server03.
Get-EventLog -LogName System -ComputerName Server01, Server02, Server03
A Get-EventLog
parancsmag a LogName paramétert használja a rendszernapló megadásához. A ComputerName paraméter egy vesszővel elválasztott sztringgel listázza azokat a számítógépeket, amelyekről le szeretné kapni az eseménynaplókat.
7. példa: Az üzenetben egy adott szót tartalmazó összes esemény lekérése
Ez a parancs lekéri a rendszer eseménynaplójában azokat az eseményeket, amelyek egy adott szót tartalmaznak az esemény üzenetében. Lehetséges, hogy a megadott Üzenet paraméter értéke szerepel az üzenet tartalmában, de nem jelenik meg a PowerShell-konzolon.
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'...
A Get-EventLog
parancsmag a LogName paramétert használja a rendszer eseménynaplójának megadásához. Az Üzenet paraméter az egyes események üzenetmezőjében keresendő szót adja meg.
8. példa: Esemény tulajdonságértékeinek megjelenítése
Ez a példa bemutatja, hogyan jelenítheti meg az esemény összes tulajdonságát és értékét.
$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 :
A Get-EventLog
parancsmag a LogName paramétert használja a rendszer eseménynaplójának megadásához. A Legújabb paraméter a legújabb eseményobjektumot választja ki. Az objektum a $A
változóban van tárolva. A $A
változóban lévő objektumot a rendszer elküldi a folyamatnak a Select-Object
parancsmagnak.
Select-Object
a Tulajdonság paramétert használja csillaggal (*
) az objektum összes tulajdonságának kiválasztásához.
9. példa: Események lekérése eseménynaplóból forrás- és eseményazonosító használatával
Ez a példa egy megadott forrás- és eseményazonosító eseményeit kéri le.
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.
A Get-EventLog
parancsmag a LogName paramétert használja az alkalmazásesemény-napló megadásához. A Forrás paraméter határozza meg az alkalmazás nevét, az Outlookot. A rendszer elküldi az objektumokat a folyamaton a Where-Object
parancsmagnak. A folyamat minden objektumához a Where-Object
parancsmag a $_.EventID
változót használja az Eseményazonosító tulajdonság és a megadott érték összehasonlítása érdekében. A rendszer elküldi az objektumokat a folyamaton a Select-Object
parancsmagnak.
Select-Object
a Tulajdonság paraméter használatával választja ki a PowerShell-konzolon megjelenítendő tulajdonságokat.
10. példa: Események lekérése és csoportosítás tulajdonság szerint
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
A Get-EventLog
parancsmag a LogName paramétert használja a rendszernapló megadásához. A UserName paraméter tartalmazza a csillag (*
) helyettesítő karaktert a felhasználónév egy részének megadásához. Az eseményobjektumokat a rendszer a folyamaton keresztül küldi el a Group-Object
parancsmagnak.
Group-Object
a Tulajdonság paraméter használatával adja meg, hogy a UserName tulajdonság használatával csoportosítsa az objektumokat, és megszámolja az egyes felhasználónevek objektumainak számát. A NoElement paraméter eltávolítja a csoporttagokat a kimenetből. A rendszer elküldi az objektumokat a folyamaton a Select-Object
parancsmagnak.
Select-Object
a Tulajdonság paraméter használatával választja ki a PowerShell-konzolon megjelenítendő tulajdonságokat.
11. példa: Adott dátum és időtartomány során történt események lekérése
Ez a példa hibaeseményeket kér le a rendszer eseménynaplójából egy megadott dátumra és időtartományra vonatkozóan. Az After és After paraméter adja meg a dátumot és az időtartományt, de a kimenet nem szerepel a kimenetben.
$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...
A Get-Date
parancsmag a Dátum paraméterrel adja meg a dátumot és az időt. A DateTime objektumok a $Begin
és $End
változókban vannak tárolva. A Get-EventLog
parancsmag a LogName paramétert használja a rendszernapló megadásához. A EntryType paraméter adja meg a hibaesemény típusát. A dátum- és időtartományt a paraméter és $Begin
változó után, valamint az Before paraméter és $End
változó határozza meg.
Paraméterek
-After
Lekéri a megadott dátum és idő után történt eseményeket. A paraméter dátuma és ideje után a kimenet nem lesz kizárva. Adjon meg egy DateTime objektumot, például a Get-Date
parancsmag által visszaadott értéket.
Típus: | DateTime |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-AsBaseObject
Azt jelzi, hogy ez a parancsmag egy standard System.Diagnostics.EventLogEntry objektumot ad vissza minden eseményhez. E paraméter nélkül Get-EventLog
egy kiterjesztett PSObject objektumot ad vissza további EventLogName, Forrásés InstanceId tulajdonságokkal.
A paraméter hatásának megtekintéséhez az eseményeket a Get-Member
parancsmagra állítva vizsgálja meg az eredmény TypeName értékét.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-AsString
Azt jelzi, hogy ez a parancsmag sztringek helyett sztringként adja vissza a kimenetet.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Before
Lekéri a megadott dátum és idő előtt történt eseményeket. A paraméter dátuma és ideje nem szerepel a kimenetben. Adjon meg egy DateTime objektumot, például a Get-Date
parancsmag által visszaadott értéket.
Típus: | DateTime |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-ComputerName
Ez a paraméter egy távoli számítógép NetBIOS-nevét, IP-címét vagy teljes tartománynevét (FQDN) adja meg.
Ha a ComputerName paraméter nincs megadva, Get-EventLog
alapértelmezés szerint a helyi számítógép lesz. A paraméter egy pont (.
) elfogadását is elfogadja a helyi számítógép megadásához.
A ComputerName paraméter nem támaszkodik a Windows PowerShell-újraküldésre. A Get-EventLog
akkor is használhatja a ComputerName paraméterrel, ha a számítógép nincs távoli parancsok futtatására konfigurálva.
Típus: | String[] |
Aliasok: | Cn |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-EntryType
Sztringtömbként megadja a parancsmag által lekért események bejegyzéstípusát.
A paraméter elfogadható értékei a következők:
- Hiba
- Információ
- FailureAudit
- SuccessAudit
- Figyelmeztetés
Típus: | String[] |
Aliasok: | ET |
Elfogadott értékek: | Error, Information, FailureAudit, SuccessAudit, Warning |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Index
Megadja az eseménynaplóból lekérendő indexértékeket. A paraméter egy vesszővel tagolt értéksztringet fogad el.
Típus: | Int32[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-InstanceId
Megadja az eseménynaplóból lekérendő példányazonosítókat. A paraméter egy vesszővel tagolt értéksztringet fogad el.
Típus: | Int64[] |
Position: | 1 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-List
Megjeleníti a számítógépen található eseménynaplók listáját.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-LogName
Egy eseménynapló nevét adja meg. A naplónevek megkereséséhez használja a Get-EventLog -List
. A helyettesítő karakterek használata engedélyezett. Ez a paraméter kötelező.
Típus: | String |
Aliasok: | LN |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-Message
Egy sztringet ad meg az eseményüzenetben. Ezzel a paramétersel bizonyos szavakat vagy kifejezéseket tartalmazó üzeneteket kereshet. Helyettesítő karakterek használata engedélyezett.
Típus: | String |
Aliasok: | MSG |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-Newest
A legújabb eseményekkel kezdődik, és a megadott számú eseményt kapja meg. Az események száma kötelező, például -Newest 100
. A visszaadott események maximális számát adja meg.
Típus: | Int32 |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Source
Sztringtömbként megadja a parancsmag által lekért naplóba írt forrásokat. Helyettesítő karakterek használata engedélyezett.
Típus: | String[] |
Aliasok: | ABO |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-UserName
Sztringtömbként megadja az eseményekhez társított felhasználóneveket. Adjon meg neveket vagy névmintákat, például User01
, User*
vagy Domain01\User*
. Helyettesítő karakterek használata engedélyezett.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
Bevitelek
None
A Get-EventLog
nem hajtható végre.
Kimenetek
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Ha a LogName paraméter van megadva, a kimenet System.Diagnostics.EventLogEntry objektumok gyűjteménye.
Ha csak a Lista paraméter van megadva, a kimenet System.Diagnostics.EventLog objektumok gyűjteménye.
Ha a List és AsString paraméterek is meg vannak adva, a kimenet System.String objektumok gyűjteménye.
Jegyzetek
A windowsos előtelepítési környezet (Windows PE) nem támogatja a Get-EventLog
és a Get-WinEvent
parancsmagokat.