У меня есть скрипт ниже, который я запускаю специально для серверов HP, чтобы определить, есть ли ошибка диска в журнале событий Windows, а затем отправить электронное письмо либо с сообщением из журнала, либо ничего не сообщать.Проблема заключается в том, что при тестировании сценария либо всегда ничего не говорится, чтобы сообщить, когда я знаю, что есть (если я могу найти источник чего-то, что я вижу в журналах), либо он печатает сообщение из совершенно другого журнала.
foreach ($Server in $servers) {
$event = Get-EventLog -ComputerName $server -LogName "system" -After ([DateTime]::Today)
if ($event.Source -eq "HP Smart Array" -or $event.Source -eq "HpCISSs2" -or $event.Source -eq "disk") {
$body += Write-Output "Server $server has an error $($event.Message) `n" ForegroundColor Red
} else {
$body += Write-Output "Server $server has nothing to report `n"
}
}