Benutzer-Werkzeuge

Webseiten-Werkzeuge


comp:cmklowin
Übersetzungen dieser Seite?:

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 m(

comp/cmklowin.txt · Zuletzt geändert: 2017-11-03 1326 von werner