Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Где найти описание синтаксиса XPath приложения wevtutil.exe (http://forum.oszone.net/showthread.php?t=355086)

test009 27-03-2024 13:55 3025944

Где найти описание синтаксиса XPath приложения wevtutil.exe
 
Нужно отфильтровать системный журнал Event Viewer по разным критериям по XPath-запросу.
Не пойму, как указывать некоторые фильтры.
Есть ли где-то расширенное описание поддерживаемых команд для фильтрации, типа, можно ли использовать операторы like (поиск по подстроке), contains, регулярные выражения, как правильно сравнивать даты и прочее:
Код:

wevtutil.exe qe Security /q:"*[EventData[Data[@Name='ProcessName']!='cmd.exe']]" /f:text > events.txt
wevtutil.exe qe Security /q:"*[System[TimeCreated[@SystemTime]]>'2024-03-24T00:17:15.8800000Z' ]" /f:text > events.txt

/? не предлагать (там того что надо - нет)

NickM 27-03-2024 14:13 3025945

"Фильтрация событий Windows встроенными утилитами", читали?

Имелось ввиду, что лучше на powershell, в котором пост.обработка результатов намного легче (регулярные выражение и прочее), чем с консольным wevtutil.

MilaBes 07-04-2024 18:00 3026286

Привет!
К сожалению, подробная официальная документация по всем возможностям XPath для Event Viewer может быть не так легко найти, потому что Microsoft не предоставляет единого глубокого руководства по этому вопросу. Но возможно это будет тебе полезно для твоей задачи:
С XPath фильтрацией в Event Viewer действительно можно многое вытворять, но, к сожалению, не всё так просто с операторами типа like или регулярных выражений, как в SQL или других языках запросов.
В XPath, который используется в Event Viewer, есть оператор `contains()` для поиска подстрок, например:
Код:

*[EventData[Data[@Name='ProcessName'] and contains(Data, 'cmd.exe')]]
Он найдёт события, где в данных события содержится 'cmd.exe'.
Оператора `like` как в SQL тут нет, но `contains()` выполняет похожую функцию.
Регулярные выражения, к сожалению, в XPath фильтрации Event Viewer не поддерживаются напрямую. В основном, приходится работать с тем, что есть в стандарте XPath 1.0.
Сравнение дат в твоём примере выглядит правильно:
Код:

*[System[TimeCreated[@SystemTime] > '2024-03-24T00:17:15.8800000Z']]
Это даст тебе события, созданные после указанной даты.
Если нужна ещё более глубокая фильтрация, возможно, стоит посмотреть в сторону скриптов PowerShell с использованием cmdlet `Get-WinEvent`, который допускает более сложные логические выражения и работу с результатами запроса.
Надеюсь, это поможет тебе с фильтрацией журналов! Удачи!

Vadikan 07-04-2024 20:33 3026293

Синтаксис XPath в журналах событий имеет множество ограничений https://learn.microsoft.com/en-us/wi...10-limitations

Цитата:

Цитата test009
Нужно отфильтровать системный журнал Event Viewer по разным критериям по XPath-запросу. »

Без подробностей звучит как неправильно поставленная задача. Почему нужно фильтровать именно xpath? Есть PowerShell.


Время: 03:44.

Время: 03:44.
© OSzone.net 2001-