Я создал предупреждение в системном мониторе (Windows Server 2008 R2), которое должно срабатывать всякий раз, когда \ Processor (_Total) \% Processor Time больше 10 (небольшое значение, чтобы гарантировать, что условие для отправки предупреждения всегда выполняется). Вы можете увидеть свойства задачи оповещения на изображении.
Кроме того, я также создал новую задачу в Планировщике заданий, которая будет запускаться независимо от того, вошел ли пользователь в систему или нет, и будет выполняться с наивысшими привилегиями. Триггер для этой задачи имеет следующие свойства:
- Начать задание: На мероприятии
- Настройки: Основные
- Журнал: Система
- Источник: процессор
Действия (а это та часть, которую я не знаю, верна ли она) имеют следующие настройки:
- Действие: запустить программу
- Программа / сценарий: путь к сценарию PowerShell для отправки электронного письма.
Код PowerShell следующий ($ name, $ date, $ counter, $ threshold, $ value должны поступать из свойств задачи оповещения, заданных сборщиком данных Performance Monitor, как на изображении выше):
function SendMail ($name, $date, $counter, $threshold, $value) {
$MailMessage = New-Object Net.Mail.MailMessage
$MailMessage.To.Add("[email protected]")
$MailMessage.From = "[email protected]"
$MailMessage.Subject = "ALERT - Performance Monitor"
$MailMessage.IsBodyHtml = $True
$MailMessage.Body = @"
<html><head></head><body>
The following counter needs attention:<BR><BR>
Name: $($name)<BR>
Date: $($date)<BR>
Counter: $($counter)<BR>
Threshold: $($threshold)<BR>
Actual Value: $($value)<BR>
<FONT face=Courier>$($html)</FONT>
<BR>
--- Automatically generated with SENDMAIL function ---
</body>
</html>
"@
$SmtpClient = New-Object Net.Mail.SmtpClient("blah.bleh")
$SmtpClient.Send($MailMessage)
}
Как только задача запущена, у меня в истории будет следующее: «Задача запущена», «Действие начато» и «Создан процесс запроса». Однако электронное письмо никогда не отправляется.
Я попытался отправить электронное письмо с помощью Действие: Отправить электронное письмо, и оно сработало. Кто-нибудь знает, что может быть не так?