Главная

Wednesday, 11 September 2019

Запрос Get-WinEvent из разных журналов.

Всем привет.

Есть хорошая новость.

Только вот закончил проверку Powershell-запроса определенных событий с контроллера домена через командлет Get-WinEvent из разных журналов. Работает!

В простейшем виде код запроса выглядит так:

$filterXml = @"
<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Microsoft-Windows-Sysmon/Operational">*[System[(EventID=2) and TimeCreated[timediff(@SystemTime) &lt;= 3600000]]]</Select>
    <Select Path="Security">*[System[((EventID &gt;= 4624 and EventID &lt;= 4627)) and TimeCreated[timediff(@SystemTime) &lt;= 3600000]]]</Select>
  </Query>
</QueryList>
"@

$Pdce = (Get-AdDomain).PDCEmulator

$Events = Get-WinEvent –FilterXml $filterXml -ComputerName $Pdce -MaxEvent 50

$Events | select TimeCreated,ID,LogName,message

Так выполняется выборка 50-ти последних событий одновременно из журнала Microsoft-Windows-Sysmon/Operational и журнала Security сгенерированных в течение часа.

Если надо сделать вывод подробнее и с нумерацией вывода то пишем так:

$global:i=0
$Events | select @{Name="#";Expression={$global:i++;$global:i.Tostring()}},TimeCreated,ID,LogName,message | fl

Что здесь нового? Теперь можно скоррелировать события не только из разных журналов, но из разных источников (хостов). 

Во первых, можно (и модно) использовать Sysmon для фиксации дополнительных событий происходящих с процессами, файлами, реестром и еще бог знает чем из того что происходит в наблюдаемой системе.

Во вторых, можно использовать "Перенаправление событий" в политиках.

В результате все интересные события попадают на один хост, где и коррелируются одним запросом в Powershell.

Успехов.

No comments:

Post a Comment

А что вы думаете по этому поводу?