Powershell мониторинг событий 41, 1074, 6008
Мониторинг по событию 41
Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 41} |
ForEach-Object {
$flam = New-Object PSObject | Select-Object Date
if ($_.ReplacementStrings[4]) {
$flam.Date = $_.TimeGenerated
$flam
}
}
$StrData=[string]$flam.Date
$message = $StrData + " " + "Сервер: $env:computername" + " " + "Система перезагрузилась, завершив работу с ошибками. Возможные причины ошибки: система перестала отвечать на запросы, произошел критический сбой или неожиданно отключилось питание."
Мониторинг по событию 1074
$Events = Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 1074}
$FlamDat = New-Object System.Management.Automation.PSObject
$FlamDat | Add-Member NoteProperty Time ($null)
$FlamDat | Add-Member NoteProperty User ($null)
$FlamDat | Add-Member NoteProperty Action ($null)
$Events | %{
$FlamDat.Time = $_.TimeGenerated
$FlamDat.User = $_.ReplacementStrings[6]
$FlamDat.Action = $_.ReplacementStrings[4]
}
$StrFlamDat=[string]$FlamDat.Time
$message = $env:computername + " " + $StrFlamDat + " " + $FlamDat.Action + " " + $FlamDat.User
Мониторинг по событию 6008
$Events = Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 6008}
$FlamDat = New-Object System.Management.Automation.PSObject
$FlamDat | Add-Member NoteProperty Time ($null)
$FlamDat | Add-Member NoteProperty User ($null)
$FlamDat | Add-Member NoteProperty Action ($null)
$Events | %{
$FlamDat.Time = $_.TimeGenerated
$FlamDat.User = $_.ReplacementStrings[6]
$FlamDat.Action = $_.Message
}
$StrFlamDat=[string]$FlamDat.Time
$message = $env:computername + " " + $StrFlamDat + " " + $FlamDat.Action + " " + $FlamDat.User
👉 @i_odmin