Собираем события из всех журналов


Как забрать все ошибки системы?

Например, так:

# вычисляем время начала (час назад)

$Start = (Get-Date) (New-Timespan -Hours 1)

$Computername = $env:COMPUTERNAME

# собираем все события

Get-EventLog -AsString -ComputerName $Computername |

  ForEach-Object {

    # отображаем статус

    Write-Progress -Activity «Checking Eventlogs on \\$ComputerName« -Status $_

    # получаем события и записываем имя журнала

    Get-EventLog -LogName $_ -EntryType Error, Warning -After $Start -ComputerName $ComputerName -ErrorAction SilentlyContinue |

   Add-Member NoteProperty EventLog $_ -PassThru

    } |Sort-Object -Property TimeGenerated -Descending |

 Select-Object EventLog,TimeGenerated,EntryType,Source,Message|

  Out-GridView -Title «All Errors& Warnings from \\$Computername»

 # отбираем свойства для отчета

  # сортируем

# и выводим в ogv

В начале скрипта можно задать удаленный сервер и количество часов, за которое нужно провести анализ. Затем скрипт собирает все журналы на машине, перебирает их в цикле, выскребая ошибки и предупреждения из каждого журнала, и помечая ошибки новым свойством «EventLog», используя Add-Member.

OGV можно заменить на  «Out-File» или»Export-Csv».

 

Реклама

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s