Как отфильтровать журнал событий безопасности Windows SID?

Я хочу отфильтровать журнал событий для определенного пользователя, но я не думаю, что существует опция искать SAMID. Существует фильтр UserId хотя, согласно здесь. Следующий правильный синтаксис корректен для поиска пользователя в снимке экрана ниже?

$events = get-winevent -filterhashtable 
  @{ logname='security'; path="Archive-Security-2015-04-14-02-13-02-299.evtx";
  UserId='S-1-5-21-220523388-838170752-839522115-yyyy' }

Events

Я не получаю "Событий, были найдены тем соответствием указанные критерии выбора". с вышеупомянутой командой. Но если я удаляю UserId ключ, длинный список возвращается, таким образом, не должно быть ничего неправильно с logname или path.

5
задан 14 April 2015 в 19:26
2 ответа

Используйте вместо этого опцию -FilterXPath!

В следующем примере я сохранил все события из журнала безопасности на моей машине в сек. журнал. evtx на рабочем столе и искать события с помощью SubjectUserSid S-1-5-18 (LOCAL SYSTEM):

$events = Get-WinEvent -Path "$HOME\Desktop\seclog.evtx" -FilterXPath '*[EventData[Data[@Name="SubjectUserSid"] = "S-1-5-18"]]'

В скрипте я, вероятно, выбрал бы таблицу splatting, чтобы сделать утверждение немного более читабельным (здесь ограничено последними 10 событиями):

$seclogSplat = @{
    'Path'        = "$HOME\Desktop\seclog.evtx"
    'FilterXPath' = '*[EventData[Data[@Name="SubjectUserSid"] = "S-1-5-18"]]'
    'MaxEvents'   = 10
}
$events = Get-WinEvent @seclogSplat

Вы можете указать несколько неисключительных критериев с помощью или :

*[EventData[Data[@Name="SubjectUserSid"] = "S-1-5-18" or Data[@Name="SubjectUserSid"] = "S-1-0-0"]]
6
ответ дан 3 December 2019 в 01:18

Я не знаю ни одного встроенного способа узнать, существует ли конкретный UserID.
Однако вы можете просто сопоставить содержимое сообщения, чтобы найти свой SiD, поскольку он должен быть уникальным:

$ events = get-winevent -logname security -path «Архив-Безопасность-2015-04-14-02-13-02-299.evtx» | где {$ _. message -match 'S-1-5-21-220523388-838170752-839522115-yyyy'}

Есть также несколько более чистых способов с использованием фильтрации XML.
Но лично мне они пока не нужны, и пока достаточно содержания, соответствующего сообщению.

2
ответ дан 3 December 2019 в 01:18

Теги

Похожие вопросы