Dienste überprüfen/neu starten mit LOG-File

Beispiel mit drei Diensten - kann beliebig erweitert werden!
Es ist möglich das ganze als geplanten Task mehrfach täglich laufen zu lassen!

Alle laufenden Dienste werden in der service.txt gespeichert und dann wird nach den entsprechnden Diensten darin gesucht.
Ist der Dienst nicht gestartet, dann wir er gestartet und ein Eintrag in die ausfall.txt erstellt mit Uhrzeit und Datum!

Die ausfall.txt wird NICHT überschrieben, sondern alle Fehler werden angehängt!
Die service.txt wird bei jedem Aufruf neu generiert!

@echo off

REM --- alle laufende Dienste in service.txt speichern---
net start > service.txt

REM ------------- Überprüfen ob 1.Dienst läuft --------------
find "Designs" service.txt
if errorlevel 1 goto WEG1
if errorlevel 0 goto OK1

:WEG1
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
echo Designs %date% %time% >> ausfall.txt
net start "Designs"
goto OK1
REM ---------------------------------------------------------

:OK1

REM ------------- Überprüfen ob 2.Dienst läuft --------------
find "Hilfe und Support" service.txt
if errorlevel 1 goto WEG2
if errorlevel 0 goto OK2

:WEG2
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
net start "Hilfe und Support"
echo Hilfe und Support %date% %time% >> ausfall.txt
goto OK2
REM ---------------------------------------------------------

:OK2

REM ------------- Überprüfen ob 3.Dienst läuft --------------
find "Taskplaner" service.txt
if errorlevel 1 goto WEG2
if errorlevel 0 goto OK3

:WEG2
REM --- Dienst neu starten und Datum + Uhrzeit festhalten ---
net start "Taskplaner"
echo Taskplaner %date% %time% >> ausfall.txt
goto OK3
REM ---------------------------------------------------------

:OK3

goto END

:END
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)