powershell 使用Get-WmiObject筛选事件日志

ecbunoof  于 2022-12-29  发布在  Shell
关注(0)|答案(1)|浏览(145)

嗨,我做了一个powershell脚本,我需要过滤日志

$logFile = Get-WmiObject Win32_NTEventlogFile | Where-Object {$_.logfilename -eq 'Application'}

在Where-Object子句中,我需要使用eventID、源(提供者)、开始时间和结束时间进行过滤。
我好像不知道怎么把这些参数放进去。请帮帮忙。

fnvucqvd

fnvucqvd1#

您最好使用Get-WinEvent或Get-EventLog Cmdlet执行以下任务:

Get-WinEvent -LogName Application | 
Where-Object {$_.Id -eq 903 -and $_.ProviderName -match "office" `
-and $_.TimeCreated -gt ((Get-Date).AddHours(-6))}

当然,您可以使用更智能、更快速的过滤器,如:
-FilterXPath-FilterXml-FilterHashtable参数。
有关详细信息:https://technet.microsoft.com/en-us/library/hh849682.aspx
要导出事件文件,您可以使用wevtutil:

wevtutil epl System c:\temp\system.evtx

有关详细信息:https://technet.microsoft.com/en-us/library/cc732848.aspx
从文件加载:

Get-WinEvent -Path c:\temp\system.evtx

相关问题