Я создал сценарий 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 Application, где time> = $ Start_Time и time <= $ End_Time
Пожалуйста помоги.
Вы можете использовать XPath для выполнения конкретных запросов событий со многими инструментами обработки событий (Event MMC, Powershell и Wevtutil). Мне удобны структуры XML в других случаях, пакеты управления SCOM, HTML и т. Д., Но мне немного сложнее понять XPath. Следует помнить следующее:
Образец
$time1 = ((get-date).toUniversalTime()).addHours(-22)
$time2 = ((get-date).toUniversalTime()).addHours(-24)
$newest = get-date($time1) -f s
$oldest = get-date($time2) -f s
$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
}