Windows-Dienst via Batchdatei starten

Arzgebirgsoz

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe folgendes Problem, auf unserem Produktionsserver (Betriebssystem Windows Server 2008R2) läuft eine Anwendung, die diverse Kennzeichnungssysteme steuert. so relativ wartungsfreundlich das ganze System auch ist, der Windows-Dienst bleibt ab und zu einfach stehen. Die Sache ist zwar mit einem Neustart schnell behoben, aber das Problem tritt mit Vorliebe dann auf, wenn keiner von uns zwei(!!!) IT-Nasen im Hause ist und die Rechte für diesen Start will ich eigentlich ungern irgendwelchen Laien geben. Für ein anderes Problem habe ich schon ein Laufwerk gemapt, mit dem einige Personen begrenzten Zugriff auf den Server haben. Meine Idee wäre, dort eine Batchdatei abzulegen, die bei Ausführen den Status des Dienstes prüft und ihn gegebenenfalls neu startet.
Bis sc query "Dienst" komme ich, sc start"Dienst" geht auch klar, aber wie ich die Statusanzeige 1 für gestoppt und 4 für läuft verknüpfe, soweit reichen meine Kenntnisse dann doch nicht.


2016_05_09_15_58_56_Verbindung_Fastek_159.244.40.67_Remotedesktopverbindung.jpg

Ich sage schon mal danke für die Hilfe
Arzgebirgsoz
 
Die Batch-Datei könnte auf diese Art funktionieren:
Code:
@echo off
sc query "fm OrderObserver-Service" | find "1  STOPPED" >NUL
if not %ERRORLEVEL% == 1 (
  echo Stopped
  goto ende
) else (
  echo Running
)
:ende

Statt nur echo tue was:
Code:
@echo off
sc query "fm OrderObserver-Service" | find "1  STOPPED" >NUL
if not %ERRORLEVEL% == 1 (
REM service is stopped!
  sc start ...
)

siehe auch If - Performs conditional processing in batch programs

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
PS: Knoten im Hirn. :roll:

So'rum sollte das If auch gehen:
Code:
@echo off
sc query "fm OrderObserver-Service" | find "1  STOPPED" >NUL
if %ERRORLEVEL% == 0 (
REM service is stopped!
  sc start ...
)

Harald
 
Danke sehr, ich habe es gerade getestet und es sieht gut aus, es wird erkannt, ob der Dienst läuft oder nicht.
Beim automatischen Starten bekomme ich zwar den "Fehler 5", aber das ist wohl irgendeine Berechtigungssache,
die ich noch einrichten muss.
Nochmals danke für die schnelle Hilfe
Lars
 
Zurück
Oben