Всем привет.
Есть хорошая новость.
В простейшем виде код запроса выглядит так:
$filterXml = @"
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Microsoft-Windows-Sysmon/Operational">*[System[(EventID=2) and TimeCreated[timediff(@SystemTime) <= 3600000]]]</Select>
<Select Path="Security">*[System[((EventID >= 4624 and EventID <= 4627)) and TimeCreated[timediff(@SystemTime) <= 3600000]]]</Select>
</Query>
</QueryList>
"@
$Pdce = (Get-AdDomain).PDCEmulator
$Events = Get-WinEvent –FilterXml $filterXml -ComputerName $Pdce -MaxEvent 50
$Events | select TimeCreated,ID,LogName,message
Если надо сделать вывод подробнее и с нумерацией вывода то пишем так:
$global:i=0
$Events | select @{Name="#";Expression={$global:i++;$global:i.Tostring()}},TimeCreated,ID,LogName,message | fl
Есть хорошая новость.
Только вот закончил проверку Powershell-запроса определенных событий с контроллера домена через командлет Get-WinEvent из разных журналов. Работает!
$filterXml = @"
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Microsoft-Windows-Sysmon/Operational">*[System[(EventID=2) and TimeCreated[timediff(@SystemTime) <= 3600000]]]</Select>
<Select Path="Security">*[System[((EventID >= 4624 and EventID <= 4627)) and TimeCreated[timediff(@SystemTime) <= 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
А что вы думаете по этому поводу?