Aby sprawdzić czy dana usługa działa i w razie jej wyłaczenia uruchomić ją możemy wykorzystać skrypt PS
#Nazwa usługi do monitorowania – zmień na odpowiednią
$serviceName = "nazwa_uslugi"
#Pobierz status usługi
$service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue
#Jeśli usługa nie istnieje – zapisz do logu i zakończ skrypt
if (-not $service) {
Add-Content -Path "C:\Logs\service_monitor.log" -Value "$(Get-Date): Usługa '$serviceName' nie istnieje."
exit
}
#Jeśli usługa nie działa – uruchom ją
if ($service.Status -ne 'Running') {
Add-Content -Path "C:\Logs\service_monitor.log" -Value "$(Get-Date): Usługa '$serviceName' nie działa – uruchamiam…"
Start-Service -Name $serviceName
} else {
Add-Content -Path "C:\Logs\service_monitor.log" -Value "$(Get-Date): Usługa '$serviceName' działa poprawnie."
}
Następnie dodajemy zadanie w harmonogramie zadań

action:
program/script: powershell.exe
addarguments: -ExecutionPolicy Bypass -File „C:\Scripts\Check-mmService.ps1”
