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
GetLogSet (Alapértelmezett)
Get-WinEvent
[[-LogName] <String[]>]
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
ListLogSet
Get-WinEvent
[-ListLog] <String[]>
[-ComputerName <String>]
[-Credential <PSCredential>]
[-Force]
[<CommonParameters>]
ListProviderSet
Get-WinEvent
[-ListProvider] <String[]>
[-ComputerName <String>]
[-Credential <PSCredential>]
[<CommonParameters>]
GetProviderSet
Get-WinEvent
[-ProviderName] <String[]>
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Force]
[-Oldest]
[<CommonParameters>]
FileSet
Get-WinEvent
[-Path] <String[]>
[-MaxEvents <Int64>]
[-Credential <PSCredential>]
[-FilterXPath <String>]
[-Oldest]
[<CommonParameters>]
HashQuerySet
Get-WinEvent
[-FilterHashtable] <Hashtable[]>
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-Force]
[-Oldest]
[<CommonParameters>]
XmlQuerySet
Get-WinEvent
[-FilterXml] <XmlDocument>
[-MaxEvents <Int64>]
[-ComputerName <String>]
[-Credential <PSCredential>]
[-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 is, például a rendszer és alkalmazás naplóit. 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 CTRL+C. 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ésekkel, strukturált XML-lekérdezésekkel és kivonattáblázat-lekérdezésekkel.
Ha nem rendszergazdaként futtatja a PowerShellt, olyan hibaüzenetek jelenhetnek meg, amelyek nem kérhetők le a naplókró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 abban a sorrendben vannak felsorolva, hogy Get-WinEvent kapják meg őket. 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 null értékű, 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ő karaktert használja az egyes naplók adatainak megjelenítéséhez.
2. példa: A klasszikus beállítási napló lekérése
Ez a parancs egy EventLogConfiguration objektumot kap, amely a klasszikus beállítási naplót jelöli. 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 beállítási naplót. A rendszer elküldi az objektumot a folyamaton 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 egy napló RecordCount null vagy nulla. A példa a $_ változót használja. További információért tekintse meg az *about_Automatic_Variables* témakört a éscímkék alatt.
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ő karaktert használja az egyes naplók adatainak megjelenítéséhez. A ComputerName paraméter a helyi számítógép naplóinak lekérését adja meg, localhost. A rendszer elküldi az objektumokat a folyamaton a Where-Object parancsmagnak.
Where-Object
$_.RecordCount használatával csak adatokat tartalmazó naplókat ad vissza.
$_ egy változó, amely a folyamat aktuális objektumát jelöli.
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 ciklus használatával dolgozza fel az egyes kiszolgálókat, ($Server in $S). A kapcsos zárójelek szkriptblokkja ({ }) futtatja a Get-WinEvent parancsot. A ListLog paraméter határozza meg a alkalmazásnaplót. A ComputerName paraméter a $Server változót használja az egyes kiszolgálók naplóadatainak lekéréséhez.
A rendszer elküldi az objektumokat a folyamaton a Select-Object parancsmagnak.
Select-Object lekéri LogMode, MaximumSizeInBytes, RecordCount, LogNametulajdonságait, és számított kifejezéssel jeleníti meg a ComputerName 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 Automatikus méretezés 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ő karaktert használja az egyes szolgáltatók adatainak megjelenítéséhez. A kimenetben a Név a szolgáltató, LogLinks a szolgáltató által írt napló.
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ál a napló objektumainak lekéréséhez.
ProviderNames az objektum tulajdonsága, és megjeleníti azokat a szolgáltatókat, amelyek az alkalmazás naplóba írnak.
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 Házirend a szolgáltató nevének bármely pontján.
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 határozza meg a szolgáltatót, a Microsoft-Windows-GroupPolicy. A kifejezés zárójelekbe van csomagolva, és az Events tulajdonságot használja az objektumok lekéréséhez. A rendszer elküldi az objektumokat a folyamaton a Format-Table parancsmagnak.
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 szintszerint 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 $Event változóban vannak tárolva. A Count tulajdonság $Eventa naplózott események teljes számát jeleníti meg.
A $Event változót a rendszer elküldi a folyamatnak a Group-Object parancsmagnak.
Group-ObjectA 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 csoportosított objektumokat a rendszer a folyamaton keresztül küldi el a Sort-Object parancsmagnak.
Sort-Object az Tulajdonság paraméter használatával rendezi az objektumokat Darabszámszerint. A Csökkenő paraméter szám szerint jeleníti meg a kimenetet a legmagasabbtól a legalacsonyabbig. A kimenetben a Darabszám oszlop tartalmazza az egyes események teljes számát. A Név oszlop a csoportosított eseményazonosító számokat tartalmazza.
A $Event változót a rendszer elküldi 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 LevelDisplayNamealapján. Az objektumok olyan szintek szerint vannak csoportosítva, mint a Figyelmeztető és Információ.
A NoElement paraméter eltávolít más tulajdonságokat a kimenetből. A kimenetben a Darabszám oszlop tartalmazza az egyes események teljes számát. A Név oszlop tartalmazza a csoportosított LevelDisplayName.
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 folyamaton a Group-Object parancsmagnak.
Group-Object a Tulajdonság paraméter használatával csoportosítja az objektumokat LevelDisplayName és LogNameszerint. A NoElement paraméter eltávolít más tulajdonságokat a kimenetből. A csoportosított objektumokat a rendszer a folyamaton keresztül küldi el a Format-Table parancsmagnak.
Format-Table az Automatikus méretezés paraméter használatával formázza az oszlopokat. A Darabszám oszlop tartalmazza az egyes események teljes számát. A
12. példa: Események lekérése archivált eseménynaplóból
Get-WinEvent lekérheti az eseményadatokat 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. A Elérési út paraméter határozza meg 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ényeket képesek lekérni. Ez a minta egy archivált PowerShell-naplót használ, amelyet C:\Test\PowerShellCore Operational.evtxtárol.
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 .etl, például TraceLog.etl.
Az események abban a sorrendben jelennek meg, amelyben a naplóba vannak írva, ezért a legrégebbi paraméter szükséges.
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. A Elérési út paraméter határozza meg 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égebbi és a legújabb között. A rendszer elküldi az objektumokat a folyamatnak a Sort-Object parancsmagnak, Sort-Object az objektumokat csökkenő sorrendbe rendezi a TimeCreated tulajdonság értéke alapján. A rendszer elküldi az objektumokat a folyamaton a 100 legújabb eseményt megjelenítő Select-Object 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 ugyanolyan típusú .NET-keretrendszer objektumot tartalmaznak, EventLogRecord, 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. A Elérési út paraméter 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égebbi és a legújabb között. A rendszer elküldi az objektumokat a folyamaton a Where-Object parancsmagnak.
Where-Objectegy szkriptblokk használatával megkeresi a 403-at azonosítóeseményeket. A $_ változó a folyamat aktuális objektumát jelöli, Azonosító pedig az Eseményazonosító tulajdonság.
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) &lt;= 86400000]]]</Select>
</Query>
</QueryList>
'@
Get-WinEvent -FilterXML $xmlQuery
# Using the FilterXPath parameter:
$XPath = '*[System[Level=3 and TimeCreated[timediff(@SystemTime) &lt;= 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 a Alkalmazás napló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 FilterHashtablehasználatával. További információkért a kivonattáblákról lásd: 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 $Date változóban 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ás naplójaként adja meg az értéket. A StartTime kulcs a $Date változóban tárolt értéket használja. Az azonosító kulcs egy eseményazonosító-értéket használ, 1003.
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ódust használja egy olyan dátum lekéréséhez, amely hét nappal az aktuális dátum előtt van. A dátumobjektum a $StartTime változóban 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ás naplójaként adja meg az értéket. A ProviderName kulcs az esemény Forrásalkalmazáshibaértékét használja. Az Adat kulcs a StartTime kulcs iexplore.exe az $StartTime változóban 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, 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. A ComputerName paramétert akkor is használhatja, ha a számítógép nincs távoli parancsok futtatására konfigurálva.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | Local computer |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Cn |
Paraméterkészletek
GetLogSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
ListLogSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
ListProviderSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
GetProviderSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
HashQuerySet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
XmlQuerySet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 adjon meg egy PSCredential objektumot, például a Get-Credential parancsmag által 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.
Paramétertulajdonságok
| Típus: | PSCredential |
| Alapértelmezett érték: | Current user |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 egy vagy több kulcs/érték párral rendelkező kivonattáblát tartalmaz.
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.
- A Elérési út érték a
.etl,.evtés.evtxnaplófájlok elérési útját veszi át. - A LogName, Elérési útés ProviderName kulcsok használhatók ugyanabban a lekérdezésben.
- A UserID kulcs érvényes biztonsági azonosítót (SID) vagy egy tartományfióknevet vehet fel, amely egy érvényes System.Security.Principal.NTAccount objektum létrehozásához használható.
- A Adat érték egy névtelen 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 nem tudja értelmezni kulcs/érték párját, a kulcsot az esemény eseményadatainak kis- és nagybetűket megkülönböztető neveként értelmezi.
Az érvényes Get-WinEventkulcs/érték párok a következők:
-
Naplónév=
<String[]> -
Szolgáltatónév=
<String[]> -
elérési út=
<String[]> -
kulcsszavak=
<Long[]> -
azonosító=
<Int32[]> -
szint=
<Int32[]> -
Kezdési idő=
<DateTime> -
Végidő=
<DateTime> -
Felhasználói azonosító=
<SID> -
adat=
<String[]> <named-data>=<String[]>-
SuppressHashFilter=
<Hashtable>
Paramétertulajdonságok
| Típus: | |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
HashQuerySet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 Szűrő aktuális napló funkcióit a Windows Eseménynaplóban. 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. Az Eseménynapló funkcióival kapcsolatos további információkért tekintse meg az Eseménynapló súgóját.
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 AZ XML- elem letiltása, 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.
Paramétertulajdonságok
| Típus: | XmlDocument |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
XmlQuerySet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-FilterXPath
Egy XPath-lekérdezést ad meg, amelyet ez a parancsmag kiválaszt egy vagy több naplóból.
További információ az XPath nyelvről: XPath-referencia és Eseménykijelölésikijelölési szűrők szakasza.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
GetLogSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
GetProviderSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
FileSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Force
Az egyéb eseménynaplók mellett hibakeresési és elemzési naplókat is lekér. A hibakeresési vagy elemzési napló lekéréséhez a Force paraméter szükséges, ha a Név paraméter értéke helyettesítő karaktereket tartalmaz.
Alapértelmezés szerint a Get-WinEvent parancsmag kizárja ezeket a naplókat, hacsak nem adja meg a hibakeresési vagy elemzési napló teljes nevét.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
GetLogSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
ListLogSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
GetProviderSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
HashQuerySet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
ListLogSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-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.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
ListProviderSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-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 átirányíthatja.
Megjegyzé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 }
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
GetLogSet
| Position: | 0 |
| Kötelező: | False |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-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.
Paramétertulajdonságok
| Típus: | Int64 |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
GetLogSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
GetProviderSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
FileSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
HashQuerySet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
XmlQuerySet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 az események .etl és .evt fájlokból, valamint hibakeresési és elemzési naplókból való lekéréséhez szükséges. 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.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
GetLogSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
GetProviderSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
FileSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
HashQuerySet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
XmlQuerySet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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 .evt, .evtxés .etl kiterjesztésű fájlokat. Ugyanabban a parancsban különböző fájlokból és fájltípusokból származó eseményeket is felvehet.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
| Aliasok: | PSPath |
Paraméterkészletek
FileSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-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ó.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
GetProviderSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
String
Ehhez a parancsmaghoz logName (sztring) csövezhető.
XmlDocument
A FilterXML-lekérdezéseket erre a parancsmagra csövezheti.
Hashtable
Erre a parancsmagra egy FilterHashtable-lekérdezést is be lehet csövezni.
Kimenetek
EventLogConfiguration
A ListLog paraméterrel ez a parancsmag EventLogConfiguration objektumokat ad vissza.
EventLogRecord
Ez a parancsmag alapértelmezés szerint EventLogRecord objektumokat ad vissza.
ProviderMetadata
A ListProvider paraméterrel ez a parancsmag ProviderMetadata objektumokat ad vissza.
Jegyzetek
Get-WinEvent a Windows Vista rendszert és a Windows újabb verzióit futtató számítógépeken a Get-EventLog parancsmag cseréjére szolgál.
Get-EventLog csak klasszikus eseménynaplókban kapja le az eseményeket.
Get-EventLog a visszamenőleges kompatibilitás érdekében megmarad.
A Get-WinEvent és Get-EventLog parancsmagok nem támogatottak a Windows előtelepítési környezetében (Windows PE).