comp:cmklowin
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
:
- wuauserv.bat
@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
comp/cmklowin.txt · Zuletzt geändert: 2017-11-03 1326 von werner