windows平台使用系统自带的性能监视器监测C盘空间并发送提醒邮件
一、设置任务计划
设置任务计划,自动发送邮件
任务计划名称“Mail-diskC”
方式一:使用bat脚本调用ps1文件
任务计划执行bat批处理脚本,调用另一powershell文件
该计划任务为后续性能监视器所调用,因此不需要设置触发器
inform.bat
powershell.exe -command ^
"& {set-executionpolicy Remotesigned -Scope Process; .'.\inform.ps1'" 2>&1 }"
inform.ps1
$smtpServer = "mail.163.com"
$smtpUser = "[email protected]"
$smtpPassword = "userpwdxxx"
$mail = New-Object System.Net.Mail.MailMessage
$MailAddress="[email protected]"
$MailtoAddress="[email protected]"
$mail.From = New-Object System.Net.Mail.MailAddress($MailAddress,"系统通知邮件账户senduser123")
$mail.To.Add($MailtoAddress)
$mail.Subject = "C盘磁盘空间已不足"
$mail.Body =
"
应用系统的C盘剩余空间已不足5%,请尽快处理!
"
$smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer
$smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword
$smtp.Send($mail)
exit
方式二:直接执行ps1文件
在任务计划中设置直接执行powershell的ps1文件
建议勾选下面的“使用最高权限运行”
程序或脚本
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
添加参数
-WindowStyle Hidden -c D:\tmp\inform.ps1
inform.ps1的代码内容见方式一所述
任务计划设置完毕。
二、设置性能检测
使用性能监视器,设置监视条件,触发条件后自动调用上面的任务计划以发送提醒邮件
开始,运行,perfmon,打开性能监视器
(或者通过控制面板,管理工具,性能监视器)
依次打开 数据收集器集 > 用户定义 > 右键新建“数据收集器集”
当前创建的数据收集器集状态为“已停止”,双击展开下一目录,找到系统自动生成的数据收集器“DataCollector01”,双击打开设置属性
在“警报”选项卡中,检查刚刚设置的“警报条件”,并设置监视的时间间隔
在“警报任务”选项卡中,指定引用已经设置好的计划任务“Mail-diskC”