Есть ли возможность запросить все запланированные задачи, возвращая любое задание с последним результатом выполнения (не 0x0), используя powershell? - PullRequest
1 голос
/ 03 мая 2019

Мы (наша компания) выполняем несколько запланированных задач на сервере.Недавно некоторые из задач начали сбой при запуске.Мы хотели бы запросить все запланированные задания, сообщив о ком-либо, чей результат последнего запуска не равен 0x0, используя powershell.

Я пробовал много исследований, чтобы найти простой способ сделать это, но нашел только сценарии, которые могут запрашивать запланированную задачу по имени (только для проверки одной задачи), но не по результатам последнего запуска.Не было бы полезно добавлять новую кодовую строку для каждой вновь назначенной запланированной задачи.

В этом разделе есть довольно похожая запись, но, как описано выше, с именем задачи в качестве параметра.( Как отправить электронное письмо, если не удается запустить заданное задание SPECIFIC )

$ScheduledTaskName = "Taskname"
$Result = (schtasks /query /FO LIST /V /TN $ScheduledTaskName  | findstr "Result")
$Result = $Result.substring(12)
$Code = $Result.trim()

If ($Code -gt 0) {
    $User = "admin@company.com"
    $Pass = ConvertTo-SecureString -String "myPassword" -AsPlainText -Force
    $Cred = New-Object System.Management.Automation.PSCredential $User, $Pass


$From = "Alert Scheduled Task <task@servername>"
$To = "Admin <admin@company.com>"
$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
}

Код должен быть примерно таким, я думаю

Get-ScheduledTask | where LastTaskResult -NE "0x0"

1 Ответ

1 голос
/ 03 мая 2019

Используйте Get-ScheduledTaskInfo.

Get-ScheduledTask -TaskPath "\" | Where State -ne "Disabled" | Get-ScheduledTaskInfo | Where LastTaskResult -ne 0

В моем примере я только что предположил, что вам нужны задачи в корне задач, а не в подпапках MS. Если вы храните или заботитесь о задачах в подпапках, то, очевидно, измените путь к задачам или определите задачи, которые вы хотите, другим способом.

Get-ScheduledTaskInfo возвращает набор свойств, которые вы можете искать / выбирать. Исключая свойства Cim (WMI), они:

TaskName,TaskPath,LastRunTime,LastTaskResult,NextRunTime,NumberofMissedRuns
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...