Планировщик Windows
Задания Windows и PowerShell.
Планировщик Windows показывает результат последнего запуска кодом вида 0x41303, и заметить, что задание не выполняется неделю, можно только зайдя в консоль. Отчёт наружу избавляет от этой необходимости.
$Ping = 'https://ping.tickwatch.dev/ВАШ-КЛЮЧ'
function Send-Ping {
param([string]$Suffix = '', [string]$Body = '')
$url = if ($Suffix) { "$Ping/$Suffix" } else { $Ping }
try {
Invoke-RestMethod -Uri $url -Method Post -Body $Body -TimeoutSec 10 | Out-Null
} catch {
# Молчим: недоступность мониторинга не должна ломать задачу.
}
}
Send-Ping -Suffix 'start'
try {
$out = & 'C:\Scripts\job.cmd' 2>&1 | Out-String
Send-Ping -Body $out
} catch {
Send-Ping -Suffix 'fail' -Body ($_ | Out-String)
exit 1
}Регистрация задания одной командой:
$action = New-ScheduledTaskAction -Execute 'powershell.exe' `
-Argument '-NoProfile -ExecutionPolicy Bypass -File C:\Scripts\job.ps1'
$trigger = New-ScheduledTaskTrigger -Daily -At 3am
Register-ScheduledTask -TaskName 'Nightly job' -Action $action -Trigger $trigger `
-User 'SYSTEM' -RunLevel Highest