Используйте -FilterXPath
для разгрузки фильтрации в службу журнала событий!
Этот подход не позволяет нам искать текст обработанного сообщения журнала, но позволит нам очень детально запросить структурированные данные в событии.
Предполагая, что вы ищете 0x1278
, поскольку это событие с идентификатором процесса, мы можем запросить это конкретное c событие со следующим выражением XPath:
*[System[EventID=4688] and EventData[Data[@Name='NewProcessId']='0x3e8']]
Используется с Get-WinEvent
, в результате получается что-то вроде:
Get-WinEvent -MaxEvents 1000 -FilterXPath "*[System[EventID=4688] and EventData[Data[@Name='NewProcessId']='0x3e8']]" -LogName "Security"
Теперь службе событий только нужно вернуть одно событие , в результате чего ваш запрос Get-WinEvent
будет выполняться много быстрее