使用power shell发送报警邮件
/ 默认分类 / 共计 0 次评论

使用power shell发送报警邮件

/ 默认分类 / 共计 0 次评论

本来部署了zabbix,可以监控服务器的状态,但是只能监控进程是否运行,若进程闪退了,会报警,但是若进程还在,只是报错了,那么将不会实现报警,所以让程序增加了一项功能,可以监控各个进程之间是否活跃,若是非活跃状态,则调用power shell 执行这个脚本,就会发送报警邮件。
首先写一个bat:

PowerShell.exe -file D:\EastShushan\CheckServer.ps1
某个进程非活跃状态时就会调用这个bat,然后bat里面调用这些发送邮件的代码

代码如下:

$users = "cuizhilong@189.cn","another email";
foreach ($user in $users)
{
$sslNeed = $true
$smtpServer = "smtp.ym.163.com"
$smtpUser = "test@cuizhilong.com"
$smtpPassword = "password"
$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$mail = New-Object Net.Mail.MailMessage
$mail.To.Add($user)
$mail.From = "god@eastfantasy.com"
$mail.Subject = "服务器出现故障啦!!"
$mail.Body = "【邮件正文】赶快检查***服务器!!!"
$smtp.EnableSsl = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword
$smtp.Send($mail)
}