Этот скрипт должен получить события Error
и Warning
из журнала событий и отправить их по электронной почте. В настоящее время письмо получено без основного содержания. Есть идеи, почему тело пустое?
$computers = Get-Content "C:\Source\MorningCheck.txt";
$smtpServer = "mail.mycompany.local"
$smtpFrom = "system@mycompany.com"
$smtpTo = "emailrecipient@mycompany.com"
$style = "<style>BODY{font-family: Arial; font-size: 10pt;}"
$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
$style = $style + "TH{border: 1px solid black; background: #dddddd; padding: 5px; }"
$style = $style + "TD{border: 1px solid black; padding: 5px; }"
$style = $style + "</style>"
foreach ($computer in $computers) {
$MessageSubject = "Error log for server:" + $Computer
$message = New-Object System.Net.Mail.MailMessage $smtpfrom, $smtpto
$Message.Subject = $messageSubject
$message.IsBodyHTML = $false
$message.Body = Get-EventLog -ComputerName $Computer -LogName System -EntryType "Error","Warning" -After (Get-Date).AddDays(-1) |
Select-Object MachineName, Index, TimeGenerated, EntryType, Source, InstanceID
$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($message)
}