Reputation: 91
I have a exe file that is executed every day by the Task Scheduler on my Windows 2008. If that script should fail to start, or if the script fails during execution, I would like to get an email notification. There are many examples of getting Task Schedular to send an email based on an event log entry. However, I only want to be notified if MY particular scheduled task fails, not get a notification for all tasks that fails with an EventID 203/103/201. How can I do that without any custom software?
Upvotes: 4
Views: 19430
Reputation: 1
I just wanted to add to this post just in case someone has a similar challenge on later server o/s. There is now a PowerShell cmdlet to get Scheduled Task information.
$ScheduledTaskName = 'Taskname'
(Get-ScheduledTaskInfo -TaskName $ScheduledTaskName).LastTaskResult
Upvotes: 0
Reputation: 41
Create a new Task that runs this PowerShell Script.
$ScheduledTaskName = "Taskname"
$Result = (schtasks /query /FO LIST /V /TN $ScheduledTaskName | findstr "Result")
$Result = $Result.substring(12)
$Code = $Result.trim()
If ($Code -gt 0) {
$User = "[email protected]"
$Pass = ConvertTo-SecureString -String "myPassword" -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential $User, $Pass
$From = "Alert Scheduled Task <task@servername>"
$To = "Admin <[email protected]>"
$Subject = "Scheduled task 'Taskname' failed on SRV-001"
$Body = "Error code: $Code"
$SMTPServer = "smtp.company.com"
$SMTPPort = "25"
Send-MailMessage -From $From -to $To -Subject $Subject `
-Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl `
-Credential $Cred
}
Upvotes: 4