Селективные идентификаторы событий PowerShell EVTX - PullRequest
0 голосов
/ 11 февраля 2019

Я много экспериментировал, но не смог обойти эту проблему.

Мотив: PS-скрипт для выборочного анализа EVTX, который я буду вводить, и фильтрации только тех идентификаторов событий, которые я хочу.

Get-WinEvent -Path [EVTX] Но я вообще не могу использовать -FilterHashTable!

Я думал об этом -

$events = @(7045,4624)
get-eventlog -logname system -entrytype error | select eventid, message| where- 
object {$events -notcontains $_.eventid}

Но как мне ввести EVTX ивывести чистый CSV или записать на консоль?

РЕДАКТИРОВАТЬ 13 февраля -

Большое спасибо, ребята!Я совершенно новичок в StackOverflow, и мне все еще очень помогли, я глубоко признателен.:)

Итак, я добился прогресса -

Get-WinEvent -FilterHashtable @ {Path = 'C: \ TestEvent \ SystemVictim.evtx', 'C: \ TestEvent \ Security.evtx';Id = «7045», «7031», «4624», «4625», «42»} |where-object {$ _. Message-like ' SomeProcessName '} |out-gridview

Я пытался получить сводные события 7045 - регистрируемые сервисы плюс все данные 4624, 4625 и так далее.

  1. В тот момент, когда я «где-объект», я считаю, что он просто сужается до одного идентификатора события.Мне также нужны остальные идентификаторы событий!:(
  2. Я использую 'out-gridview', чтобы я мог фильтровать их только в поле вывода, не хочу усложнять команду.
  3. Может быть, каким-то образом я мог бы связать две командыв одном, чтобы достичь того, что я пытаюсь. Я буду продолжать тестирование, пока не добьюсь успеха, все, что я прошу, это какое-то руководство.

1 Ответ

0 голосов
/ 11 февраля 2019

Это работает для -FilterHashTable:

Get-WinEvent -FilterHashtable @{LogName = 'System'; Id = '7045','4624'}

Это работает для экспортированного файла .evtx с использованием -FilterHashTable:

Get-WinEvent -FilterHashtable @{Path = 'c:\temp\system.evtx'; Id = '7045','4624'}

См. Примеры и приведенное описание параметра -FilterHashTable здесь

...