我在性能监视器 (Windows Server 2008 R2) 中创建了一个警报,只要 \Processor(_Total)\% Processor Time 高于 10 就应该触发该警报(一个小值只是为了保证始终满足发送警报的条件)。您可以在图像中看到警报任务属性。
此外,我还在任务计划程序中创建了一个新任务,无论用户是否登录,它都会运行,它会以最高权限运行。此任务的触发器具有以下属性:
- 开始任务:在一个事件上
- 设置:基本
- 日志:系统
- 来源:处理器
动作(这是我不知道是否正确的部分)具有以下设置:
- 行动:启动程序
- 程序/脚本:用于发送电子邮件的 PowerShell 脚本的路径。
PowerShell 代码如下($name、$date、$counter、$threshold、$value 应该来自性能监视器数据收集器集警报任务属性,如上图所示):
function SendMail ($name, $date, $counter, $threshold, $value) {
$MailMessage = New-Object Net.Mail.MailMessage
$MailMessage.To.Add("myemail@blah.bleh")
$MailMessage.From = "do-not-reply@blah.bleh"
$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)
}
任务启动后,我在历史记录中会显示以下内容:任务已启动、操作已启动和已创建询问流程。电子邮件永远不会发送。
我尝试使用操作发送电子邮件:发送电子邮件,它工作正常。有谁知道可能出了什么问题?