winlin
Goto Top

Service überprüfen mit Parameterübergabe

Hallöchen,

habe folgendes vor. Es gibt drei Services die ich gerne überwahen will. Dazu habe ich folgendes bisher verwendet für einen dienst:

@echo off & setlocal
Set "Suchstr=DisplayName"  
Set "SuchStr=%suchstr%:ServiceKeyname"  
goto :skipSomeLines
----ab hier können alle Dienste nach dem skizzierten Muster eingetragen werden...
DisplayName:ServiceKeyname=Dienst:%1 %2 %3
----bis hier können alle Dienste nach dem skizzierten Muster eingetragen werden...
:SkipSomeLines
for /f "tokens=3,4 delims=:=" %%i in ('findstr /i /C:"%SuchStr%" %0') do (  
       call :CheckSvc %%i %%j
)
goto :eof

:CheckSvc Param1=DisplayName Param2=ServiceKeyname
ECHO %1 checken
set Status=NichDa
for /f "tokens=4"  %%b in ('sc query %2 ^|find "STATE "') do set Status=%%b  
if /i "%Status%" == "NichDa" (   
      echo [Fehler] %2 [%1] nicht gefunden...hol mal den Admin..
) ELSE (
echo [Debug] Status von %1 [%2]: %Status%
if /i "%Status%" == "STOPPED" net start %2        
)
goto :eof

Nun möchte ich sozusagen dieses Skript oder was ähnliches so ändern damit es folgendes erfüllt:
- Beim Aufruf des Skriptes gebe ich eines der drei Dienste als Parameter mit z.b. service.bat SERVICE1 SERVICE2 SERVICE2
- Das Skript überprüft nun ob die Dienste laufen und gibt als Rückgabe wert 0 für "Dienst läuft " oder 2 für "Dienst läuft nicht"

Diese Rückgabewerte sollen dann an Nagios weitergegeben werden...Das Skript werde ich dann auf dem Windws Host im plugins verzeichnis ablegen...

Content-Key: 209086

Url: https://administrator.de/contentid/209086

Printed on: April 26, 2024 at 18:04 o'clock

Member: winlin
winlin Jul 04, 2013 updated at 07:21:32 (UTC)
Goto Top
Also Rückgabewer nimmt man ja den Errorlevel den das OS verarbeiten kann oder???? Das ganze soll für das nagios dienen der den Rückgabewert verarbeitet (dienst läuft oder läuft nicht)