У меня есть скрипт, который будет сообщать о журнале событий Windows и отправлять сообщение о событии по электронной почте.проблема в том, что в сообщении может быть много деталей, что означает, что электронная почта перегружена ерундой.То, что я хотел бы сделать, это взять фрагмент, например, первые 10 слов сообщения .. (красный цвет переднего плана также не работает в электронной почте)
Обновление Код нижеработает, чтобы разбить все на новую строку, но кажется, что $ event.message возвращает первый журнал в журнале событий, а не сообщение об ошибке в операторе if;
$body += Write-Output "Server $server has an error: " $($event.Message -split '\n')[0] `n
Что касаетсяHTML, если бы я поместил тело HTML в начало и конец кода, где в выражении foreach было бы форматирование?
foreach ($server in $servers) {
$event = Get-EventLog -ComputerName $server -LogName "system" -Newest 200
if ($event.Source.Contains("Ntfs") -or $event.Source.Contains("DistributedCOM")) {
$body += Write-Output "Server $server has an error: " $($event.Message -split '\n')[0] `n
} else {
$body += Write-Output "Server $server has nothing to report `n"
}