====== Check_MK: lokaler Check unter Windows ====== Ich wollte einen bestimmten Service (den Windows-Update-Dienst) überwachen und habe Handstände gemacht, um das Teil ans Laufen zu bekommen... Das Ergebnis findet sich unter ''C:\Program Files (x86)\check_mk\local'': @echo off & setlocal EnableDelayedExpansion rem Variable vorbelegen set mystatus=NANU rem aus Anzeigename den technischen Namen finden rem for /f "tokens=6 delims= " %%a in ('sc getkeyname "Windows Update"') do set dienst=%%a rem ist konstant, also: set dienst=wuauserv rem Status abfragen und die passende Zeile nehmen for /f "tokens=4 " %%b in ('sc query %dienst% ^|find "STATE "') do set mystatus=%%b rem Auswertung if /i "%mystatus%" == "RUNNING " ( set EWE=0 set PROCS=1 ) else ( net start %dienst% set EWE=2 set PROCS=9 ) echo %EWE% Windows-Update-Service myval=%PROCS%;2;3 Status=%mystatus% Als Bonus ist da auch gleich die Autoreaktionsmethode mit eingebaut: wenn der Service nicht läuft, wird er neu gestartet. Der ''echo''-Befehl nimmt alles wörtlich. Deshalb darf die Ausgabe am Ende keine Anführungszeichen enthalten, denn die filtert check_mk nicht aus, und der auswertende Host meckert dann an, dass ''%%"0%%'' kommt, wo er ''0'' erwartet m(