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
lekéri a naplókat 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 paraméterek és a Get-EventLog
tulajdonságértékek segítségével eseményeket kereshet. A parancsmag a megadott tulajdonságértékekkel egyező eseményeket kap.
A főnevet tartalmazó EventLog
PowerShell-parancsmagok csak a Windows klasszikus eseménynaplóiban működnek, például az Alkalmazás, a Rendszer vagy a Biztonság. A Windows Vista és újabb Windows-verziók windowsos eseménynapló technológiáját használó naplók lekéréséhez használja Get-WinEvent
a következőt: .
Feljegyzés
Get-EventLog
Egy 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 adhatók meg, 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 List paraméter használatával jeleníti meg az elérhető naplókat.
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éter használatával adja meg a rendszer eseménynaplóját. 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éter használatával adja meg a rendszernaplót. 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
rendszer elküldi az objektumokat a folyamatnak a Group-Object
parancsmagnak.
Group-Object
A Tulajdonság paraméter használatával forrás szerint csoportosítja az objektumokat, és megszámolja az egyes forrásokhoz tartozó objektumok 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 sorrendbe rendezi a listát a legmagasabbtól a legalacsonyabbig.
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éter használatával adja meg a rendszernaplót. Az 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éter használatával adja meg a rendszernaplót. Az InstanceID paraméter a megadott példányazonosítóval rendelkező eseményeket választja ki. A Forrás paraméter az eseménytulajdonságot adja meg.
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éter használatával adja meg a rendszernaplót. 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 üzenetparamé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éter használatával adja meg a rendszer eseménynaplóját. 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éter használatával adja meg a rendszer eseménynaplóját. A Legújabb paraméter a legutóbbi eseményobjektumot választja ki. Az objektum a változóban $A
van tárolva. A változóban lévő $A
objektumot a rendszer elküldi a folyamatnak a Select-Object
parancsmagnak.
Select-Object
A Tulajdonság paramétert csillag*
() használatával választja ki az objektum összes tulajdonságát.
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éter használatával adja meg az alkalmazás eseménynaplóját. A Forrás paraméter megadja az alkalmazás nevét, az Outlookot. A rendszer elküldi az objektumokat a folyamatnak a Where-Object
parancsmagnak. A folyamat minden objektumához a Where-Object
parancsmag a változóval $_.EventID
hasonlítja össze az Eseményazonosító tulajdonságot a megadott értékkel. A rendszer elküldi az objektumokat a folyamatnak a Select-Object
parancsmagnak. Select-Object
A Tulajdonság paraméter használatával válassza 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éter használatával adja meg a rendszernaplót. A UserName paraméter tartalmazza a csillag (*
) helyettesítő karaktert a felhasználónév egy részének megadásához. Az eseményobjektumok le lesznek küldve a folyamatról 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 folyamatnak a Select-Object
parancsmagnak.
Select-Object
A Tulajdonság paraméter használatával válassza 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. A Before és After paraméterek megszúrják a dátumot és az időtartományt, de nem szerepelnek 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 Date paraméterrel adja meg a dátumot és az időt. A DateTime-objektumok a változókban és $End
a $Begin
változókban vannak tárolva. A Get-EventLog
parancsmag a LogName paraméter használatával adja meg a rendszernaplót. Az EntryType paraméter a hibaesemény típusát adja meg. A dátumot és az időtartományt az After paraméter és $Begin
a változó, valamint a Before paraméter és $End
a változó állítja be.
Paraméterek
-After
Lekéri a megadott dátum és idő után történt eseményeket. Az After paraméter dátuma és ideje ki van zárva a kimenetből. 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. A paraméter Get-EventLog
nélkül egy kiterjesztett PSObject objektumot ad vissza további EventLogName, Source és InstanceId tulajdonságokkal.
A paraméter hatásának megtekintéséhez az eseményeket a Get-Member
parancsmagba kell csöveznie, és meg kell vizsgálnia 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. Az Before paraméter dátuma és ideje ki van zárva a kimenetből. 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
az alapértelmezés a helyi számítógép lesz. A paraméter a helyi számítógép megadásához egy pont (.
) értéket is elfogad.
A ComputerName paraméter nem támaszkodik a Windows PowerShell-újraküldésre. A ComputerName paraméterrel akkor is használhatóGet-EventLog
, 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
- Tájékoztatás
- 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 következőt 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 például kötelező -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 bemenő adatokat nem lehet becsúszni.Get-EventLog
Kimenetek
System.Diagnostics.EventLogEntry. System.Diagnostics.EventLog. System.String
Ha a LogName paraméter meg van adva, a kimenet System.Diagnostics.EventLogEntry objektumok gyűjteménye.
Ha csak a List paraméter van megadva, a kimenet System.Diagnostics.EventLog-objektumok gyűjteménye.
Ha a List és az AsString paraméterek is meg vannak adva, a kimenet System.String-objektumok gyűjteménye.
Jegyzetek
A parancsmagok Get-EventLog
Get-WinEvent
nem támogatottak a Windows előtelepítési környezetében (Windows PE).