Via de taakplanner kan men actief bewaken van services inschakelen.
Voorbeeld: Controle PitaneBSA CWB
Taakplanner -> nieuwe taak
Naam: Controle PitaneBSA CWB
Open Taakplanner (taskschd.msc) en kies Taak maken.... Geef hem bijvoorbeeld de naam Controle PitaneBSA CWB en vink Met hoogste bevoegdheden uitvoeren aan. Laat hem uitvoeren onder een Windows-account dat voldoende rechten heeft om services te starten.
Maak vervolgens een trigger die dagelijks start en stel bij Geavanceerde instellingen in: Taak elke 5 minuten herhalen gedurende 1 dag.
Programma/script:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Argumenten toevoegen:
-NoProfile -NonInteractive -ExecutionPolicy Bypass -File "C:\Scripts\Check-PitaneBSA_CWB.ps1"
Beginnen in:
C:\Scripts
Maak een map aan op de server: C:\Scripts
Maak daarin het bestand:
Check-PitaneBSA_CWB.ps1
Inhoud (voorbeeld):
$ServiceName = "PitaneBSA_CWB"
$LogFile = "C:\Scripts\PitaneBSA_CWB.log"
$Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
if ($null -eq $Service) {
Add-Content $LogFile "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - Service niet gevonden."
exit 1
}
Add-Content $LogFile "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - Status: $($Service.Status)"
if ($Service.Status -eq "Stopped") {
Add-Content $LogFile "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - Service is gestopt. Startpoging."
try {
Start-Service -Name $ServiceName -ErrorAction Stop
Start-Sleep -Seconds 5
$Service.Refresh()
Add-Content $LogFile "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - Status na start: $($Service.Status)"
}
catch {
Add-Content $LogFile "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - FOUT: $($_.Exception.Message)"
}
}
Als de taak in Taakplanner staat op “Alleen uitvoeren als gebruiker is aangemeld”, dan draait die taak alleen wanneer dat specifieke Windows-account actief is ingelogd.
Voor servicebewaking is dat meestal niet wenselijk. Als niemand is aangemeld, of dat account afmeldt, kan de controle op PitaneBSA_CWB stoppen. Dan wordt de service dus mogelijk niet automatisch opnieuw gestart.
Voor een server/servicecontrole zou ik eerder kiezen voor “Uitvoeren ongeacht of gebruiker wel of niet is aangemeld” en “Met hoogste bevoegdheden uitvoeren”. Nog robuuster is de taak onder het lokale SYSTEM-account te laten draaien, zolang het script alleen lokale zaken doet zoals deze Windows-service controleren en starten.
Was dit artikel nuttig?
Dat is fantastisch!
Hartelijk dank voor uw beoordeling
Sorry dat we u niet konden helpen
Hartelijk dank voor uw beoordeling
Feedback verzonden
We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren