码迷,mamicode.com
首页 > 系统相关 > 详细

Powershell 邮件通知计划任务运行失败

时间:2015-05-28 14:17:57      阅读:321      评论:0      收藏:0      [点我收藏+]

标签:powershell   event id   邮件通告   计划任务运行失败   

    因为Win 2008 R2服务器上面有很多计划任务,邮件通知如果任务运行失败。因为任务运行失败会有不同的Event ID生成是日志里面,所以,如果有不同的Event ID,应该再做一个计划任务。

  新建一个计划任务,类型如下,并设置做以下三个配置.

  • 选择Run whether user is logged on or not.

  • Triggers配置如下图.

    技术分享

  • Action 配置如下.

    Program script C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe


  • Add arguments (optional) -command "C:\scripts\Task_Failed_Alert.ps1"技术分享

Task_Failed_Alert.ps1 脚本如下。

#This is script is for email alert when Event ID 101 occur in Task Scheduler.
$OutputFileLocation = "C:\scripts\Task_Failed_Alert.log"

Start-Transcript -path $OutputFileLocation -append

$ErrorMessage = wevtutil qe Microsoft-Windows-TaskScheduler/Operational "/q:*[System [(EventID=101)]]"  /f:text /rd:true /c:1 #Get EventID 101 lastest details in Operational log

$ComputerName = $ErrorMessage |select-string -pattern "computer"   #Display specific line.
$ComputerNames = $ComputerName.Line.Split(".")| Select-Object -first 1 #Split specific phrase.
$ErrorSubject = $ErrorMessage |Select-string -pattern "Additional Data" #Display specific line.
$ErrorSubjects = $ErrorSubject.Line.Split(".")| Select-Object -first 1 #Split specific phrase.
$ErrorSub = "$Computernames"  + " " + "$ErrorSubjects"

$ErrorMessage = $ErrorMessage |Out-String #Formatting string for email Body.

Send-MailMessage -From "ABC@ABC.com" -To "BBC@ABC.com" -Subject "$ErrorSub" -Body "$ErrorMessage" -SMTPServer SMTPSERVER
Write-Host "Mail message sent on $(Get-Date -format ‘s‘)"
Write-Host $ErrorMessage

技术分享

可以新建一个任务来测试以上邮件通知是否成功,以权限不够的用户来运行这个任务,就可以产生Event ID 101的错误。

注意,不要设置默认记事本打开这个脚本,否则任务运行时就会以记事本来打开这个脚本,而不是PowerShell.exe来运行。

本文出自 “IT” 博客,请务必保留此出处http://simondu.blog.51cto.com/754321/1655904

Powershell 邮件通知计划任务运行失败

标签:powershell   event id   邮件通告   计划任务运行失败   

原文地址:http://simondu.blog.51cto.com/754321/1655904

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!