Выгрузка журналов событий в PowerShell

Краткая заметка о том, как выполняет выгрузка журналов событий в PowerShell. Дополнительно я привел способ того, как можно изменить критерии выгрузки.

Выгрузка журналов событий в PowerShell

Скрипт для выгрузке довольно прост. Пример скрипта, который выгружает все критические события и ошибки из журнала приложений за последние 30 дней:

$xmlQuery = @'
<QueryList>
  <Query Id="0" Path="Application">
    <Select Path="Application">*[System[(Level=1  or Level=2) and TimeCreated[timediff(@SystemTime) &lt;= 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:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *