windows使用性能监视器监测C盘空间

windows平台使用系统自带的性能监视器监测C盘空间并发送提醒邮件

一、设置任务计划

设置任务计划,自动发送邮件
任务计划名称“Mail-diskC”

方式一:使用bat脚本调用ps1文件

任务计划执行bat批处理脚本,调用另一powershell文件
image
image

该计划任务为后续性能监视器所调用,因此不需要设置触发器

inform.bat

powershell.exe -command ^
  "& {set-executionpolicy Remotesigned -Scope Process; .'.\inform.ps1'" 2>&1 }"

部分低版本操作系统中需要在bat脚本内容最后加一个回车键,否则会执行失败,原因未知

inform.ps1

$smtpServer = "mail.163.com"
$smtpUser = "senduser123@163.com"
$smtpPassword = "userpwdxxx"
$mail = New-Object System.Net.Mail.MailMessage
$MailAddress="senduser123@163.com"
$MailtoAddress="reciveuser456@163.com"
$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文件
image
建议勾选下面的“使用最高权限运行”
image

程序或脚本
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

添加参数
-WindowStyle Hidden -c D:\tmp\inform.ps1

部分较低版本操作系统如server08添加参数时使用-command "& {set-executionpolicy Remotesigned -Scope Process; C:\Batch\GetDiskUsage.ps1" 2>&1 }"

任务计划设置完毕。

二、设置性能检测

使用性能监视器,设置监视条件,触发条件后自动调用上面的任务计划以发送提醒邮件

开始,运行,perfmon,打开性能监视器
(或者通过控制面板,管理工具,性能监视器)

依次打开 数据收集器集 > 用户定义 > 右键新建“数据收集器集”
image
image
image
image
image
image
image

当前创建的数据收集器集状态为“已停止”,双击展开下一目录,找到系统自动生成的数据收集器“DataCollector01”,双击打开设置属性
image
image

在“警报”选项卡中,检查刚刚设置的“警报条件”,并设置监视的时间间隔
image

在“警报任务”选项卡中,指定引用已经设置好的计划任务“Mail-diskC”
image

右键该收集器集,开始
image
状态变为“正在运行”
image

性能监视器设置完毕。

posted on 2024-07-08 11:46  越野兔  阅读(1)  评论(0编辑  收藏  举报

导航