powershell - показывать последнее событие после фильтра с конвейером - PullRequest
2 голосов
/ 04 мая 2020

Я пытаюсь получить последнее событие (с определенным идентификатором события и определенным словом в поле сообщения). Код, который я использую:

Get-WinEvent @{logname = 'security';id=4663} | ? {$_.Message -like "*WriteData (or AddFile)*"}

Моя проблема в том, что он находит несколько событий, и я хочу получить только самые новые. Я знаю, что могу использовать -MaxEvents 1 (после сортировки по дате), но мне нужно разместить его после конвейера (потому что я хочу самое новое событие после фильтрации Message).

Любая идея, как можно Я так делаю?

Заранее спасибо.

1 Ответ

2 голосов
/ 04 мая 2020

Нашел простой ответ: Select-Object.

Сначала я принудительно отсортировал его по времени с помощью Sort-Object TimeCreated -Descending, а затем передал Select-Object -First 1.

. вещь выглядит так:

Get-WinEvent @{logname = 'security';id=4663} | ? {$_.Message -like "*WriteData (or AddFile)*"} | Sort-Object TimeCreated -Descending | Select-Object -First 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...