Hvordan kan Windows Task Scheduler konfigureres til at give besked, hvis et script fejler, ikke kører eller ikke findes, på samme måde som crontab sender fejlmeddelelser på en server?
Windows Task Scheduler kan konfigureres til at give besked ved fejl ved at oprette en opgave, konfigurere triggeren, tilføje handlingen, konfigurere fejlhåndtering og oprette en e-mail notifikation via et PowerShell script.
Sådan konfigureres Windows Task Scheduler til at give besked ved fejl
Windows Task Scheduler kan konfigureres til at give besked, hvis et script fejler, ikke kører eller ikke findes. Dette kan gøres ved at følge nedenstående trin:
1. Opret en ny opgave i Task Scheduler
- Åbn Task Scheduler ved at søge efter "Task Scheduler" i Start-menuen.
- Vælg "Create Task" i højre side af vinduet.
- Giv opgaven et navn og en beskrivelse.
2. Konfigurer triggeren
- Gå til fanen "Triggers" og klik på "New".
- Vælg, hvornår opgaven skal køres (f.eks. dagligt, ugentligt, ved opstart).
- Konfigurer de ønskede indstillinger og klik på "OK".
3. Tilføj handlingen
- Gå til fanen "Actions" og klik på "New".
- Vælg "Start a program" som handling.
- Indtast stien til det script, der skal køres, i feltet "Program/script".
- Tilføj eventuelle argumenter i feltet "Add arguments (optional)".
- Klik på "OK".
4. Konfigurer fejlhåndtering
- Gå til fanen "Settings".
- Marker afkrydsningsfeltet "If the task fails, restart every" og vælg en passende tidsperiode.
- Marker afkrydsningsfeltet "Stop the task if it runs longer than" og vælg en passende tidsperiode.
- Marker afkrydsningsfeltet "If the task is already running, then the following rule applies" og vælg "Stop the existing instance".
5. Opret en e-mail notifikation
For at få besked via e-mail, hvis opgaven fejler, kan du bruge en PowerShell script til at sende en e-mail. Følg disse trin:
- Opret et nyt PowerShell script, der sender en e-mail ved fejl. Eksempel:
$SmtpServer = "smtp.yourserver.com"
$SmtpFrom = "[email protected]"
$SmtpTo = "[email protected]"
$MessageSubject = "Task Scheduler Error Notification"
$MessageBody = "The scheduled task has failed."
$Smtp = New-Object Net.Mail.SmtpClient($SmtpServer)
$Smtp.Send($SmtpFrom, $SmtpTo, $MessageSubject, $MessageBody)
- Gem scriptet som f.eks. "SendEmail.ps1".
- Gå tilbage til Task Scheduler og opret en ny handling under fanen "Actions".
- Vælg "Start a program" som handling.
- Indtast "powershell.exe" i feltet "Program/script".
- Indtast stien til dit PowerShell script i feltet "Add arguments (optional)". Eksempel:
-File "C:\Path\To\SendEmail.ps1"
- Klik på "OK".
Nu vil Task Scheduler sende en e-mail notifikation, hvis opgaven fejler.