Краткая заметка о том, как выполняет выгрузка журналов событий в PowerShell. Дополнительно я привел способ того, как можно изменить критерии выгрузки.
Выгрузка журналов событий в PowerShell
Скрипт для выгрузке довольно прост. Пример скрипта, который выгружает все критические события и ошибки из журнала приложений за последние 30 дней:
$xmlQuery = @'
<QueryList>
<Query Id="0" Path="Application">
<Select Path="Application">*[System[(Level=1 or Level=2) and TimeCreated[timediff(@SystemTime) <= 2592000000]]]</Select>
</Query>
</QueryList>
'@
#Get events with FilterXML
$Events= Get-WinEvent -FilterXML $xmlQuery
#Export the System events to the CSV file
$Events | Export-CSV "C:\Events.CSV" -NoTypeInformation -Encoding UTF8
Основная логика находится в условиях фильтрации поиска – переменной $xmlQuery. Это ничто иное, как xml представление критериев поиска. Его можно получить непосредственно и Event Viewer. Для этого настройте критерии фильтрации нужного вам журнала на вкладке “Фильтр”.
Затем перейдите на вкладку “XML”:
Текст в основной секции окна и будет текстом, который необходимо передать в переменную $xmlQuery.
Пример выгруженного журнала и немного структурированного средствами Excel: