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


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

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

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

$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”.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.