Get-WinEvent
Események lekérése eseménynaplókból és eseménykövetési naplófájlokból helyi és távoli számítógépeken.
Syntax
Get-WinEvent
[[-LogName] <String[]>]
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-ListLog] <String[]>
[-ComputerName <String>]
[-Credential <PSCredential>]
[-Force]
[<CommonParameters>]
Get-WinEvent
[-ListProvider] <String[]>
[-ComputerName <String>]
[-Credential <PSCredential>]
[<CommonParameters>]
Get-WinEvent
[-ProviderName] <String[]>
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-Path] <String[]>
[-MaxEvents <Int64>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterHashtable] <Hashtable[]>
[-Force]
[-Oldest]
[<CommonParameters>]
Get-WinEvent
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXml] <XmlDocument>
[-Oldest]
[<CommonParameters>]
Description
Ez a parancsmag csak a Windows platformon érhető el.
A Get-WinEvent
parancsmag eseményeket kér le az eseménynaplókból, beleértve a klasszikus naplókat, például a rendszer - és alkalmazásnaplókat . A parancsmag adatokat kér le a Windows Vista rendszerben bevezetett Windows eseménynapló-technológia által generált eseménynaplókból, valamint a Windows eseménykövetése (ETW) által létrehozott naplófájlokban lévő eseményekből. Alapértelmezés szerint Get-WinEvent
az eseményadatokat a legújabbtól a legrégebbiig sorrendben adja vissza.
Get-WinEvent
felsorolja az eseménynaplókat és az eseménynapló-szolgáltatókat. A parancs megszakításához nyomja le a CTRL C billentyűkombinációt.+ Eseményeket lekérhet a kiválasztott naplókból vagy a kiválasztott eseményszolgáltatók által létrehozott naplókból. Egyetlen parancsban több forrásból származó eseményeket is kombinálhat.
Get-WinEvent
Lehetővé teszi az események szűrését XPath-lekérdezések, strukturált XML-lekérdezések és kivonattáblázat-lekérdezések használatával.
Ha nem Rendszergazda istratorként futtatja a PowerShellt, hibaüzenetek jelenhetnek meg, amelyekből nem tud adatokat lekérni egy naplóról.
Példák
1. példa: Az összes napló lekérése egy helyi számítógépről
Ez a parancs lekéri az összes eseménynaplót a helyi számítógépen. A naplók a lekérési sorrendben Get-WinEvent
jelennek meg. A rendszer először a klasszikus naplókat kéri le, majd az új Windows-eseménynaplókat.
Előfordulhat, hogy a napló RecordCount értéke null, ami üres vagy nulla.
Get-WinEvent -ListLog *
LogMode MaximumSizeInBytes RecordCount LogName
------- ------------------ ----------- -------
Circular 15532032 14500 Application
Circular 1052672 117 Azure Information Protection
Circular 1052672 3015 CxAudioSvcLog
Circular 20971520 ForwardedEvents
Circular 20971520 0 HardwareEvents
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. A ListLog paraméter a csillag (*
) helyettesítő karakterrel jeleníti meg az egyes naplók adatait.
2. példa: A klasszikus beállítási napló lekérése
Ez a parancs lekéri a klasszikus telepítési naplót képviselő EventLogConfiguration objektumot. Az objektum információkat tartalmaz a naplóról, például a fájlméretről, a szolgáltatóról, a fájl elérési útjáról, valamint arról, hogy engedélyezve van-e a napló.
Get-WinEvent -ListLog Setup | Format-List -Property *
FileSize : 69632
IsLogFull : False
LastAccessTime : 3/13/2019 09:41:46
LastWriteTime : 3/13/2019 09:41:46
OldestRecordNumber : 1
RecordCount : 23
LogName : Setup
LogType : Operational
LogIsolation : Application
IsEnabled : True
IsClassicLog : False
SecurityDescriptor : O:BAG:SYD: ...
LogFilePath : %SystemRoot%\System32\Winevt\Logs\Setup.evtx
MaximumSizeInBytes : 1052672
LogMode : Circular
OwningProviderName : Microsoft-Windows-Eventlog
ProviderNames : {Microsoft-Windows-WUSA, Microsoft-Windows-ActionQueue...
ProviderLevel :
ProviderKeywords :
ProviderBufferSize : 64
ProviderMinimumNumberOfBuffers : 0
ProviderMaximumNumberOfBuffers : 64
ProviderLatency : 1000
ProviderControlGuid :
A Get-WinEvent
parancsmag a ListLog paraméter használatával adja meg a telepítési naplót. A rendszer elküldi az objektumot a folyamatnak a Format-List
parancsmagnak. Format-List
A Tulajdonság paramétert használja a csillag (*
) helyettesítő karakterrel az egyes tulajdonságok megjelenítéséhez.
3. példa: A klasszikus biztonsági napló konfigurálása
Ez a parancs lekéri a klasszikus biztonsági naplót jelképező EventLogConfiguration objektumot. Az objektum ezután a napló beállításainak konfigurálására szolgál, például a maximális fájlméretre, a fájl elérési útjára, valamint arra, hogy engedélyezve van-e a napló.
$log = Get-WinEvent -ListLog Security
$log.MaximumSizeInBytes = 1gb
try{
$log.SaveChanges()
Get-WinEvent -ListLog Security | Format-List -Property *
}catch [System.UnauthorizedAccessException]{
$ErrMsg = 'You do not have permission to configure this log!'
$ErrMsg += ' Try running this script with administrator privileges. '
$ErrMsg += $_.Exception.Message
Write-Error $ErrMsg
}
FileSize : 69632
IsLogFull : False
LastAccessTime : 3/13/2019 09:41:46
LastWriteTime : 3/13/2019 09:41:46
OldestRecordNumber : 1
RecordCount : 23
LogName : Security
LogType : Administrative
LogIsolation : Custom
IsEnabled : True
IsClassicLog : True
SecurityDescriptor : O:BAG:SYD: ...
LogFilePath : %SystemRoot%\System32\Winevt\Logs\Security.evtx
MaximumSizeInBytes : 1073741824
LogMode : Circular
OwningProviderName :
ProviderNames : {Microsoft-Windows-WUSA, Microsoft-Windows-ActionQueue...
ProviderLevel :
ProviderKeywords :
ProviderBufferSize : 64
ProviderMinimumNumberOfBuffers : 0
ProviderMaximumNumberOfBuffers : 64
ProviderLatency : 1000
ProviderControlGuid :
A Get-WinEvent
parancsmag a ListLog paraméter használatával adja meg a biztonsági naplót. Az objektumot egy változóba menti a rendszer. A MaximumSizeInBytes tulajdonság értéke 1 gigabájt az objektumon. A Rendszer meghívja a SaveChanges metódust, hogy leküldje a módosítást a rendszernek egy kísérletblokkon belül a hozzáférés-szabálysértések kezelése érdekében. A Get-WinEvent
rendszer ismét meghívja a parancsmagot a Biztonsági naplóban, és a Format-List
parancsmagra állítva ellenőrzi, hogy a MaximumSizeInBytes tulajdonságot mentette-e a gépen.
4. példa: Eseménynaplók lekérése kiszolgálóról
Ez a parancs csak az eseményeket tartalmazó helyi számítógépen kapja meg az eseménynaplókat. Előfordulhat, hogy a napló RecordCount értéke null vagy nulla. A példa a változót $_
használja. További információ: about_Automatic_Variables.
Get-WinEvent -ListLog * -ComputerName localhost | Where-Object { $_.RecordCount }
LogMode MaximumSizeInBytes RecordCount LogName
------- ------------------ ----------- -------
Circular 15532032 14546 Application
Circular 1052672 117 Azure Information Protection
Circular 1052672 2990 CxAudioSvcLog
Circular 1052672 9 MSFTVPN Setup
Circular 1052672 282 OAlerts
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. A ListLog paraméter a csillag (*
) helyettesítő karakterrel jeleníti meg az egyes naplók adatait. A ComputerName paraméter megadja, hogy lekérje a naplókat a helyi számítógépről, a localhostról. A rendszer elküldi az objektumokat a folyamatnak a Where-Object
parancsmagnak. Where-Object
csak az adatokat tartalmazó naplók visszaadására használja $_.RecordCount
. $_
egy változó, amely a folyamat aktuális objektumát jelöli. A RecordCount az objektum nem null értékű tulajdonsága.
5. példa: Eseménynaplók lekérése több kiszolgálóról
Ez a példa az alkalmazás eseménynaplóit három számítógépen jeleníti meg: Server01, Server02 és Server03. A ForEach kulcsszót azért használja a rendszer, mert a ComputerName paraméter csak egy értéket fogad el. További információ: about_Foreach.
$S = 'Server01', 'Server02', 'Server03'
ForEach ($Server in $S) {
Get-WinEvent -ListLog Application -ComputerName $Server |
Select-Object LogMode, MaximumSizeInBytes, RecordCount, LogName,
@{name='ComputerName'; expression={$Server}} |
Format-Table -AutoSize
}
LogMode MaximumSizeInBytes RecordCount LogName ComputerName
------- ------------------ ----------- ------- ------------
Circular 15532032 14577 Application Server01
Circular 15532032 9689 Application Server02
Circular 15532032 5309 Application Server03
A változó $S
három kiszolgáló nevét tárolja: Server01, Server02 és Server03. A ForEach utasítás egy hurkot használ az egyes kiszolgálók feldolgozásához. ($Server in $S)
A kapcsos zárójelek ({ }
) szkriptblokkja futtatja a Get-WinEvent
parancsot. A ListLog paraméter az alkalmazásnaplótadja meg. A ComputerName paraméter a változót $Server
használja az egyes kiszolgálók naplóadatainak lekéréséhez.
A rendszer elküldi az objektumokat a folyamatnak a Select-Object
parancsmagnak. Select-Object
lekéri a LogMode, a MaximumSizeInBytes, a RecordCount, a LogName tulajdonságokat, és egy számított kifejezéssel jeleníti meg a ComputerName tulajdonságot a $Server
változó használatával. A rendszer elküldi az objektumokat a folyamatnak a Format-Table
parancsmagnak, hogy megjelenítse a kimenetet a PowerShell-konzolon. Az AutoSize paraméter úgy formázja a kimenetet, hogy illeszkedjen a képernyőhöz.
6. példa: Eseménynapló-szolgáltatók és naplónevek lekérése
Ez a parancs lekéri az eseménynapló-szolgáltatókat és azokat a naplókat, amelyekre írnak.
Get-WinEvent -ListProvider *
Name : .NET Runtime
LogLinks : {Application}
Opcodes : {}
Tasks : {}
Name : .NET Runtime Optimization Service
LogLinks : {Application}
Opcodes : {}
Tasks : {}
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. A ListProvider paraméter a csillag (*
) helyettesítő karakter használatával jeleníti meg az egyes szolgáltatók adatait. A kimenetben a Név a szolgáltató, a LogLinks pedig az a napló, amelybe a szolgáltató ír.
7. példa: Az összes eseménynapló-szolgáltató lekérése, amely egy adott naplóba ír
Ez a parancs lekéri az összes olyan szolgáltatót, amely az alkalmazásnaplóba ír.
(Get-WinEvent -ListLog Application).ProviderNames
.NET Runtime
.NET Runtime Optimization Service
Application
Application Error
Application Hang
Application Management
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. A ListLog paraméter alkalmazás használatával szerzi be a napló objektumait. A ProviderNames az objektum tulajdonsága, és megjeleníti az alkalmazásnaplóba író szolgáltatókat.
8. példa: Adott sztringet tartalmazó eseménynapló-szolgáltatónevek lekérése
Ez a parancs lekéri az eseménynapló-szolgáltatókat olyan névvel, amely egy adott sztringet tartalmaz a szolgáltató nevében.
Get-WinEvent -ListProvider *Policy*
Name : Group Policy Applications
LogLinks : {Application}
Opcodes : {}
Tasks : {}
Name : Group Policy Client
LogLinks : {Application}
Opcodes : {}
Tasks : {}
Name : Group Policy Data Sources
LogLinks : {Application}
Opcodes : {}
Tasks : {}
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. A ListProvider paraméter a csillag (*
) helyettesítő karakterrel megkeresi a Házirendet a szolgáltató nevében.
9. példa: Az eseményszolgáltató által létrehozott eseményazonosítók lekérése
Ez a parancs felsorolja a Microsoft-Windows-GroupPolicy eseményszolgáltató által létrehozott eseményazonosítókat az esemény leírásával együtt.
(Get-WinEvent -ListProvider Microsoft-Windows-GroupPolicy).Events | Format-Table Id, Description
Id Description
-- -----------
1500 The Group Policy settings for the computer were processed successfully...
1501 The Group Policy settings for the user were processed successfully...
4115 Group Policy Service started.
4116 Started the Group Policy service initialization phase.
4117 Group Policy Session started.
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. A ListProvider paraméter a Microsoft-Windows-GroupPolicy szolgáltatót határozza meg. A kifejezés zárójelekbe van csomagolva, és az Események tulajdonságot használja az objektumok lekéréséhez. A rendszer elküldi az objektumokat a folyamatnak a Format-Table
parancsmagnak. Format-Table
megjeleníti az eseményobjektumok azonosítóját és leírását .
10. példa: Naplóadatok lekérése az eseményobjektum tulajdonságaiból
Ez a példa bemutatja, hogyan kérhet le információkat egy napló tartalmáról eseményobjektum-tulajdonságok használatával. Az eseményobjektumok egy változóban vannak tárolva, majd eseményazonosító és szint szerint vannak csoportosítva és megszámolva.
$Event = Get-WinEvent -LogName 'Windows PowerShell'
$Event.Count
$Event | Group-Object -Property Id -NoElement | Sort-Object -Property Count -Descending
$Event | Group-Object -Property LevelDisplayName -NoElement
195
Count Name
----- ----
147 600
22 400
21 601
3 403
2 103
Count Name
----- ----
2 Warning
193 Information
A Get-WinEvent
parancsmag a LogName paraméter használatával adja meg a Windows PowerShell eseménynaplóját. Az eseményobjektumok a $Event
változóban vannak tárolva. A Count tulajdonság $Event
a naplózott események teljes számát jeleníti meg.
A $Event
rendszer elküldi a változót a folyamatnak a Group-Object
parancsmagnak. Group-Object
A Tulajdonság paraméter használatával adja meg az Id tulajdonságot, és megszámolja az objektumokat az eseményazonosító értéke alapján. A NoElement paraméter eltávolítja a többi tulajdonságot az objektumok kimenetéből. A rendszer elküldi a csoportosított objektumokat a folyamatnak a Sort-Object
parancsmagnak. Sort-Object
A Tulajdonság paraméter használatával rendezi az objektumokat a Darabszám szerint. A Csökkenő paraméter szám szerint jeleníti meg a kimenetet a legmagasabbtól a legalacsonyabbig. A kimenetben a Darabszám oszlop az egyes események teljes számát tartalmazza. A Név oszlop a csoportosított eseményazonosító számokat tartalmazza.
A $Event
rendszer elküldi a változót a folyamatnak a Group-Object
parancsmagnak. Group-Object
A Tulajdonság paraméter használatával adja meg a LevelDisplayName tulajdonságot, és megszámolja az objektumokat LevelDisplayName szerint. Az objektumok olyan szintek szerint vannak csoportosítva, mint a Figyelmeztetés és az Információ.
A NoElement paraméter eltávolítja az egyéb tulajdonságokat a kimenetből. A kimenetben a Darabszám oszlop az egyes események teljes számát tartalmazza. A Név oszlop a csoportosított LevelDisplayName nevet tartalmazza.
11. példa: Olyan hibaesemények lekérése, amelyek nevében egy megadott sztring szerepel
Ez a példa a naplónevek vesszővel tagolt sztringét használja. A kimenet a hiba vagy figyelmeztetés szintje és a napló neve szerint van csoportosítva.
Get-WinEvent -LogName *PowerShell*, Microsoft-Windows-Kernel-WHEA* |
Group-Object -Property LevelDisplayName, LogName -NoElement |
Format-Table -AutoSize
Count Name
----- ----
1 Error, PowerShellCore/Operational
26 Information, Microsoft-Windows-Kernel-WHEA/Operational
488 Information, Microsoft-Windows-PowerShell/Operational
77 Information, PowerShellCore/Operational
9835 Information, Windows PowerShell
19 Verbose, PowerShellCore/Operational
444 Warning, Microsoft-Windows-PowerShell/Operational
512 Warning, PowerShellCore/Operational
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. A LogName paraméter egy vesszővel elválasztott sztringet használ a csillag (*
) helyettesítő karakterrel a naplónevek megadásához. A rendszer elküldi az objektumokat a folyamatnak a Group-Object
parancsmagnak. Group-Object
A Tulajdonság paraméter használatával csoportosítja az objektumokat LevelDisplayName és LogName szerint. A NoElement paraméter eltávolítja az egyéb tulajdonságokat a kimenetből. A rendszer elküldi a csoportosított objektumokat a folyamatnak a Format-Table
parancsmagnak. Format-Table
az AutoSize paraméter használatával formázza az oszlopokat. A Darabszám oszlop az egyes események teljes számát tartalmazza. A Név oszlop a csoportosított LevelDisplayName és LogName nevet tartalmazza.
12. példa: Események lekérése archivált eseménynaplóból
Get-WinEvent
eseményinformációkat kérhet le a mentett naplófájlokból. Ez a minta a helyi számítógépen tárolt archivált PowerShell-naplót használja.
Get-WinEvent -Path 'C:\Test\Windows PowerShell.evtx'
ProviderName: PowerShell
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
3/15/2019 13:54:13 403 Information Engine state is changed from Available to Stopped...
3/15/2019 13:54:13 400 Information Engine state is changed from None to Available...
3/15/2019 13:54:13 600 Information Provider "Variable" is Started...
3/15/2019 13:54:13 600 Information Provider "Function" is Started...
3/15/2019 13:54:13 600 Information Provider "FileSystem" is Started...
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. Az Elérési út paraméter megadja a könyvtárat és a fájlnevet.
13. példa: Adott számú esemény lekérése archivált eseménynaplóból
Ezek a parancsok adott számú eseményt kapnak egy archivált eseménynaplóból. Get-WinEvent
olyan paraméterekkel rendelkezik, amelyek maximális számú eseményt vagy a legrégebbi eseményt képesek lekérni. Ez a minta egy archivált PowerShell-naplót használ, amely a C:\Test\PowerShellCore Operational.evtx fájlban van tárolva.
Get-WinEvent -Path 'C:\Test\PowerShellCore Operational.evtx' -MaxEvents 100
ProviderName: PowerShellCore
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
3/15/2019 09:54:54 4104 Warning Creating Scriptblock text (1 of 1):...
3/15/2019 09:37:13 40962 Information PowerShell console is ready for user input
3/15/2019 07:56:24 4104 Warning Creating Scriptblock text (1 of 1):...
...
3/7/2019 10:53:22 40961 Information PowerShell console is starting up
3/7/2019 10:53:22 8197 Verbose Runspace state changed to Opening
3/7/2019 10:53:22 8195 Verbose Opening RunspacePool
A Get-WinEvent
parancsmag naplóadatokat kap a számítógépről. Az Elérési út paraméter megadja a könyvtárat és a fájlnevet. A MaxEvents paraméter 100 rekord megjelenítését határozza meg a legújabbtól a legrégebbiig.
14. példa: Eseménykövetés Windowshoz
A Windows eseménykövetése (ETW) eseményeket ír a naplóba események bekövetkezésekor. Az események a legrégebbi és a legújabb sorrendben vannak tárolva. Az archivált ETW-fájlok például TraceLog.etl fájlként .etl
lesznek mentve.
Az események abban a sorrendben jelennek meg, amelyben a naplóba vannak írva, ezért a legrégebbi paraméterre van szükség.
Get-WinEvent -Path 'C:\Tracing\TraceLog.etl' -Oldest |
Sort-Object -Property TimeCreated -Descending |
Select-Object -First 100
A Get-WinEvent
parancsmag naplóadatokat kap az archivált fájlból. Az Elérési út paraméter megadja a könyvtárat és a fájlnevet. A legrégebbi paraméter az események írási sorrendben történő kimenetére szolgál, a legrégebbiről a legújabbra. A rendszer elküldi az objektumokat a folyamatnak a Sort-Object
parancsmagnak Sort-Object
, és csökkenő sorrendben rendezi az objektumokat a TimeCreated tulajdonság értéke szerint. A rendszer elküldi az objektumokat a folyamaton a Select-Object
100 legújabb eseményt megjelenítő parancsmagnak.
15. példa: Események lekérése egy eseménykövetési naplóból
Ez a példa bemutatja, hogyan szerezheti be az eseményeket egy eseménykövetési naplófájlból (.etl
) és egy archivált Windows PowerShell-naplófájlból (.evtx
). Egyetlen parancsban több fájltípust is kombinálhat.
Mivel a fájlok azonos típusú .NET-keretrendszer objektumot (EventLogRecord) tartalmaznak, ugyanazokkal a tulajdonságokkal szűrheti őket. A parancshoz a legrégebbi paraméterre van szükség, mert egy .etl
fájlból olvas, de a legrégebbi paraméter minden fájlra érvényes.
Get-WinEvent -Path 'C:\Tracing\TraceLog.etl', 'C:\Test\Windows PowerShell.evtx' -Oldest |
Where-Object { $_.Id -eq '403' }
A Get-WinEvent
parancsmag naplóadatokat kap az archivált fájlokból. Az Elérési út paraméter egy vesszővel tagolt listát használ az egyes fájlkönyvtárak és fájlnevek megadásához. A legrégebbi paraméter az események írási sorrendben történő kimenetére szolgál, a legrégebbiről a legújabbra. A rendszer elküldi az objektumokat a folyamatnak a Where-Object
parancsmagnak. Where-Object
egy szkriptblokk használatával megkeresi a 403-at azonosítóeseményeket. A $_
változó a folyamat aktuális objektumát jelöli, az Azonosító pedig az Eseményazonosító tulajdonságot.
16. példa: Eseménynapló eredményeinek szűrése
Ez a példa számos módszert mutat be az események eseménynaplóból való szűrésére és kiválasztására. Ezek a parancsok az elmúlt 24 órában történt eseményeket kapják meg a Windows PowerShell eseménynaplójából.
A szűrési módszerek hatékonyabbak, mint a Where-Object
parancsmag használata. A rendszer szűrőket alkalmaz az objektumok lekérésekor. Where-Object
lekéri az összes objektumot, majd szűrőket alkalmaz az összes objektumra.
# Using the Where-Object cmdlet:
$Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
Get-WinEvent -LogName 'Windows PowerShell' | Where-Object { $_.TimeCreated -ge $Yesterday }
# Using the FilterHashtable parameter:
$Yesterday = (Get-Date) - (New-TimeSpan -Day 1)
Get-WinEvent -FilterHashtable @{ LogName='Windows PowerShell'; Level=3; StartTime=$Yesterday }
# Using the FilterXML parameter:
$xmlQuery = @'
<QueryList>
<Query Id="0" Path="Windows PowerShell">
<Select Path="System">*[System[(Level=3) and
TimeCreated[timediff(@SystemTime) <= 86400000]]]</Select>
</Query>
</QueryList>
'@
Get-WinEvent -FilterXML $xmlQuery
# Using the FilterXPath parameter:
$XPath = '*[System[Level=3 and TimeCreated[timediff(@SystemTime) <= 86400000]]]'
Get-WinEvent -LogName 'Windows PowerShell' -FilterXPath $XPath
17. példa: Események lekérése az alkalmazásnaplóból a FilterHashtable használatával
Ez a példa a FilterHashtable paramétert használja az események lekéréséhez az alkalmazásnaplóból . A kivonattábla kulcs-érték párokat használ. A FilterHashtable paraméterrel kapcsolatos további információkért lásd: Get-WinEvent lekérdezések létrehozása a FilterHashtable használatával. További információ a kivonattáblákról: about_Hash_Tables.
$Date = (Get-Date).AddDays(-2)
Get-WinEvent -FilterHashtable @{ LogName='Application'; StartTime=$Date; Id='1003' }
A Get-Date
parancsmag az AddDays metódust használja egy olyan dátum lekéréséhez, amely két nappal az aktuális dátum előtt van. A dátumobjektum a változóban $Date
van tárolva.
A Get-WinEvent
parancsmag naplóadatokat kap. A FilterHashtable paraméter a kimenet szűrésére szolgál. A LogName kulcs az alkalmazásnaplóként megadott értéket adja meg. A StartTime kulcs a változóban $Date
tárolt értéket használja. Az azonosítókulcs egy 1003-at használó eseményazonosító-értéket használ.
18. példa: Alkalmazáshibák lekérése a FilterHashtable használatával
Ez a példa a FilterHashtable paramétert használja az Internet Explorer elmúlt héten előforduló alkalmazáshibáinak megkereséséhez.
$StartTime = (Get-Date).AddDays(-7)
Get-WinEvent -FilterHashtable @{
Logname='Application'
ProviderName='Application Error'
Data='iexplore.exe'
StartTime=$StartTime
}
A Get-Date
parancsmag az AddDays metódussal olyan dátumot kap, amely hét nappal az aktuális dátum előtt van. A dátumobjektum a változóban $StartTime
van tárolva.
A Get-WinEvent
parancsmag naplóadatokat kap. A FilterHashtable paraméter a kimenet szűrésére szolgál. A LogName kulcs az alkalmazásnaplóként megadott értéket adja meg. A ProviderName kulcs az alkalmazáshiba értéket használja, amely az esemény forrása. Az adatkulcs azt az értéket használja, iexplore.exe A StartTime-kulcs a változóban $StartTime
tárolt értéket használja.
19. példa: Alkalmazáshibák szűrése a SuppressHashFilter használatával
A fenti 16. példához hasonlóan ez a példa a FilterHashtable paramétert használja az események lekéréséhez az alkalmazásnaplóból . Azonban hozzáadjuk a SuppressHashFilter kulcsot az információs szintű események kiszűréséhez.
$Date = (Get-Date).AddDays(-2)
$filter = @{
LogName='Application'
StartTime=$Date
SuppressHashFilter=@{Level=4}
}
Get-WinEvent -FilterHashtable $filter
Ebben a példában Get-WinEvent
az alkalmazásnapló minden eseményét lekéri az elmúlt két napban, kivéve azokat, amelyek 4. szintű (információ) szintűek .
Paraméterek
-ComputerName
Megadja annak a számítógépnek a nevét, amelyet ez a parancsmag eseményeket kap az eseménynaplókból. Írja be a számítógép NetBIOS-nevét, IP-címét vagy teljes tartománynevét (FQDN). Az alapértelmezett érték a helyi számítógép, a localhost. Ez a paraméter egyszerre csak egy számítógépnevet fogad el.
Ha távoli számítógépekről szeretne eseménynaplókat lekérni, konfigurálja az eseménynapló-szolgáltatás tűzfalportját a távelérés engedélyezéséhez.
Ez a parancsmag nem támaszkodik a PowerShell-újraküldésre. Akkor is használhatja a ComputerName paramétert, ha a számítógép nincs távoli parancsok futtatására konfigurálva.
Type: | String |
Aliases: | Cn |
Position: | Named |
Default value: | Local computer |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
A művelet végrehajtásához engedéllyel rendelkező felhasználói fiókot ad meg. Az alapértelmezett érték az aktuális felhasználó.
Írjon be egy felhasználónevet, például User01 vagy Domain01\User01. Vagy írjon be egy PSCredential objektumot, például a parancsmag által Get-Credential
létrehozott objektumot. Ha felhasználónevet ír be, a rendszer jelszót kér. Ha csak a paraméter nevét írja be, a rendszer felhasználónevet és jelszót is kér.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterHashtable
Egy kivonattábla formátumú lekérdezést ad meg egy vagy több eseménynapló eseményeinek kiválasztásához. A lekérdezés tartalmaz egy kivonattáblát egy vagy több kulcs/érték párral.
A kivonattábla-lekérdezések a következő szabályokkal rendelkeznek:
- A kulcsok és értékek nem érzékenyek a kis- és nagybetűkre.
- A helyettesítő karakterek csak a LogName és ProviderName kulcsokhoz társított értékekben érvényesek.
- Minden kulcs csak egyszer szerepelhet az egyes kivonattáblákban.
- Az Elérési út érték a naplófájlok
.etl
.evt
.evtx
elérési útját adja meg. - A LogName, path és ProviderName kulcsok ugyanabban a lekérdezésben használhatók.
- A UserID-kulcs érvényes biztonsági azonosítót (SID) vagy tartományfióknevet vehet fel, amely egy érvényes System.Security.Principal.NTAccount objektum létrehozásához használható.
- Az Adatérték egy meg nem nevezett mezőben veszi át az eseményadatokat. Például a klasszikus eseménynaplók eseményei.
<named-data>
kulcs egy elnevezett eseményadatmezőt jelöl.
Ha Get-WinEvent
egy kulcs/érték pár nem értelmezhető, a kulcsot az esemény eseményadatainak kis- és nagybetűket megkülönböztető neveként értelmezi.
Az érvényes Get-WinEvent
kulcs/érték párok a következők:
- LogName=
<String[]>
- ProviderName=
<String[]>
- Elérési út=
<String[]>
- Kulcsszavak=
<Long[]>
- Azonosító=
<Int32[]>
- Szinten=
<Int32[]>
- StartTime=
<DateTime>
- EndTime=
<DateTime>
- UserID=
<SID>
- Adatok=
<String[]>
<named-data>
=<String[]>
- SuppressHashFilter=
<Hashtable>
Type: | Hashtable[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterXml
Egy strukturált XML-lekérdezést ad meg, amelyet ez a parancsmag kiválaszt egy vagy több eseménynaplóból.
Érvényes XML-lekérdezés létrehozásához használja az Egyéni nézet létrehozása és az Aktuális naplók szűrése funkciót a Windows Eseménynapló. A párbeszédpanel elemeivel hozzon létre egy lekérdezést, majd kattintson az XML fülre a lekérdezés XML formátumban való megtekintéséhez. Az XML-fájlt az XML lapról a FilterXml paraméter értékébe másolhatja. A Eseménynapló funkcióiról további információt a Eseménynapló súgójában talál.
XML-lekérdezés használatával hozzon létre egy összetett lekérdezést, amely több XPath-utasítást tartalmaz. Az XML-formátum lehetővé teszi egy olyan XML-elem letiltására is, amely kizárja az eseményeket a lekérdezésből. Az eseménynapló-lekérdezések XML-sémájáról további információt a Lekérdezési séma és az Eseménykijelölés XML-esemény lekérdezések szakaszában talál.
A FilterHashtable paraméterrel elfojtott elemet is létrehozhat.
Type: | XmlDocument |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterXPath
Egy XPath-lekérdezést ad meg, amelyet ez a parancsmag kiválaszt egy vagy több naplóból.
Az XPath nyelvről további információt az XPath-referencia és az Eseménykijelölés kiválasztási szűrők szakaszában talál.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Az egyéb eseménynaplók mellett hibakeresési és elemzési naplókat is lekér. Ha a névparaméter értéke helyettesítő karaktereket tartalmaz, a Force paraméter szükséges a hibakeresési vagy elemzési napló lekéréséhez.
A parancsmag alapértelmezés szerint kizárja ezeket a naplókat, Get-WinEvent
kivéve, ha megadja a hibakeresési vagy elemzési napló teljes nevét.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ListLog
Megadja az eseménynaplókat. Írja be az eseménynapló nevét egy vesszővel tagolt listában. Helyettesítő karakterek használata engedélyezett. Az összes napló lekéréséhez használja a csillag (*
) helyettesítő karaktert.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-ListProvider
Megadja a parancsmag által lekért eseménynapló-szolgáltatókat. Az eseménynapló-szolgáltató olyan program vagy szolgáltatás, amely eseményeket ír az eseménynaplóba.
Adja meg a szolgáltatóneveket egy vesszővel tagolt listában. Helyettesítő karakterek használata engedélyezett. Az összes eseménynapló szolgáltatójának lekéréséhez használja a csillag (*
) helyettesítő karaktert.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LogName
Megadja azokat az eseménynaplókat, amelyekből a parancsmag eseményeket kap. Írja be az eseménynapló nevét egy vesszővel tagolt listában. Helyettesítő karakterek használata engedélyezett. A naplóneveket a Get-WinEvent
parancsmagra is beszűkítheti.
Feljegyzés
A PowerShell nem korlátozza a kérhető naplók mennyiségét. A Get-WinEvent
parancsmag azonban lekérdezi a Windows API-t, amelynek korlátja 256. Ez megnehezítheti az összes napló egyszerre történő szűrését. Ezt úgy teheti meg, hogy egy hurkot foreach
használva végighalad az egyes naplókon az alábbi módon: Get-WinEvent -ListLog * | ForEach-Object{ Get-WinEvent -LogName $_.Logname }
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-MaxEvents
A visszaadott események maximális számát adja meg. Adjon meg egy egész számot( például 100). Az alapértelmezett beállítás a naplókban vagy fájlokban szereplő összes esemény visszaadása.
Type: | Int64 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Oldest
Jelezze, hogy ez a parancsmag a legrégebbi sorrendben kapja meg az eseményeket. Alapértelmezés szerint az események a legújabb első sorrendben jelennek meg.
Ez a paraméter szükséges az események lekéréséhez a fájlokból .etl
és .evt
fájlokból, valamint a hibakeresési és elemzési naplókból. Ezekben a fájlokban az események a legrégebbi első sorrendben vannak rögzítve, és az események csak a legrégebbi első sorrendben küldhetők vissza.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Megadja azoknak az eseménynapló-fájloknak az elérési útját, amelyekből a parancsmag eseményeket kap. Írja be a naplófájlok elérési útját egy vesszővel tagolt listában, vagy használjon helyettesítő karaktereket a fájl elérésiút-mintáinak létrehozásához.
Get-WinEvent
támogatja a , .evtx
és .etl
a .evt
fájlnévkiterjesztéssel rendelkező fájlokat. Ugyanabban a parancsban különböző fájlokból és fájltípusokból származó eseményeket is felvehet.
Type: | String[] |
Aliases: | PSPath |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-ProviderName
Sztringtömbként megadja azokat az eseménynapló-szolgáltatókat, amelyekből ez a parancsmag eseményeket kap. Írja be a szolgáltatóneveket egy vesszővel tagolt listában, vagy használjon helyettesítő karaktereket a szolgáltatónévminták létrehozásához.
Az eseménynapló-szolgáltató olyan program vagy szolgáltatás, amely eseményeket ír az eseménynaplóba. Ez nem PowerShell-szolgáltató.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Bevitelek
Ehhez a parancsmaghoz logName (sztring) csövezhető.
A FilterXML-lekérdezéseket erre a parancsmagra csövezheti.
Erre a parancsmagra egy FilterHashtable-lekérdezést is be lehet csövezni.
Kimenetek
A ListLog paraméterrel ez a parancsmag EventLogConfiguration objektumokat ad vissza.
Ez a parancsmag alapértelmezés szerint EventLogRecord objektumokat ad vissza.
A ListProvider paraméterrel ez a parancsmag ProviderMetadata objektumokat ad vissza.
Jegyzetek
Get-WinEvent
A parancsmagot a Windows Vista és a Get-EventLog
Windows újabb verzióit futtató számítógépeken való helyettesítésére tervezték. Get-EventLog
eseményeket csak a klasszikus eseménynaplókban kap meg. Get-EventLog
a visszafelé kompatibilitás érdekében megmarad.
A Get-WinEvent
windowsos előtelepítési környezetben (Windows PE) a parancsmagok és Get-EventLog
a parancsmagok nem támogatottak.
Kapcsolódó hivatkozások
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: