使用power shell发送报警邮件

    本来部署了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)
    }

    转载请注明:崔之龙–运维小崔的个人博客 » 使用power shell发送报警邮件

    喜欢 0
标签: , ,

还没有人抢沙发呢~