0

У меня есть exe-файл, который каждый день запускается планировщиком задач на моем Windows 2008. Если этот сценарий не запускается или если скрипт не работает во время выполнения, я хотел бы получить уведомление по электронной почте. Существует множество примеров получения Task Schedular для отправки электронной почты на основе записи журнала событий. Тем не менее, я хочу получить уведомление только в том случае, если моя конкретная запланированная задача завершилась неудачей, а не получить уведомление обо всех проблемах, которые не выполняются с помощью EventID 203/103/201. Как я могу это сделать без какого-либо специального программного обеспечения?Как отправить электронное письмо, когда SPECIFIC запланированное задание не выполняется

ответ

0

Создайте новую задачу, которая запускает этот скрипт PowerShell.

$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 <[email protected]>" 
$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 
} 
Смежные вопросы