我已经做了一个PowerShell脚本,如下所示,但因为我将无法保存在.evtx格式。 我想要的wevtutil等效(使用wevtutil epl)的相同。请帮助!
$ErrorTime=Get-WinEvent -FilterHashtable @{ Logname = 'Application' ID = 1000 ProviderName = 'Application Error' } -MaxEvents 1 | select Select-Object -Expand TimeCreated $Start_Time = ($ErrorTime).addhours(-2) $End_Time = ($ErrorTime).addhours(2) Get-WinEvent -FilterHashtable @{ Logname='Application','System','Security' 'Setup' StartTime=$Start_Time EndTime =$End_Time}
只是想告诉脚本在做什么。 它正在获取最后发生的应用程序错误1000的时间戳,对该时间戳添加和减去两个小时,然后查询这些时间之间的应用程序系统安全性和设置。
我需要这样的东西
wevtutil epl应用程序所在的时间> = $ Start_Time和时间<= $ End_Time
请帮忙。
您可以使用XPath进行特定事件查询,并使用许多事件工具(Event MMC,Powershell和Wevtutil)。 在其他情况下,我很喜欢XML结构,SCOMpipe理包,HTML等,但是我发现XPath有点难度。 有几点需要记住的是:
样品
$time1 = ((get-date).toUniversalTime()).addHours(-22) $time2 = ((get-date).toUniversalTime()).addHours(-24) $newest = get-date($time1) -fs $oldest = get-date($time2) -fs $newest $oldest foreach ($logName in "Application Security System Setup".split(" ")) { WEVTUTIL.EXE EPL $logName "C:\temp\my$logName.evtx" "/q:*[System[TimeCreated[@SystemTime<=`'$newest`' and @SystemTime>=`'$oldest`']]]" /ow:true }