it-swarm.com.de

Zeigen Sie den Status eines Windows-Dienstes an der Eingabeaufforderung an

Gibt es einen Windows-Befehl, der den Status eines einzelnen Dienstes anzeigt?

Zum Beispiel möchte ich wissen, ob "IIS-Verwaltungsdienst" ausgeführt wird oder nicht. Wenn es ausgeführt wird, sollte der Befehl ouput "ausgeführt" werden.

Ich habe es versucht sc query type= service state= all | find "IIS Admin Service" die die Ausgabe anzeigte:

"DISPLAY_NAME: IIS Admin Service"

Ich habe auch versucht net start "IIS Admin Service" | find "Running" welches anzeigt:

Der angeforderte Dienst wurde bereits gestartet.

Weitere Hilfe erhalten Sie durch Eingabe von NET HELPMSG 2182.

Aber es gibt mir keine Ausgabe wie

"Dienstname" = läuft/deaktiviert/gestoppt

Gibt es einen Befehl, der in diesem Format ausgegeben wurde?

5
vikas

Verwenden Sie den Dienstnamen und nicht den Anzeigenamen

sc query iisadmin

17
jonathan warren

Sie können Powershell folgendermaßen verwenden:

Get-Service -name 'IIS Admin Service'

9
vigilem

Wenn Sie bereit sind, die ausgezeichnete Cygwin Bash zu verwenden, können Sie einfach schreiben:

sc query "Bonjour Service" |grep -qo RUNNING && echo "Bonjour is ok!" || echo "Apple Bonjour Service not running"

Der Trick dabei ist, ein richtiges grep zur Verfügung zu haben, damit Sie auf diese Weise den Status true/false (success) des Befehls abrufen können. Hier -q ist für still und -o dient nur zur Rückgabe der genauen Übereinstimmung und kann wahrscheinlich weggelassen werden. Und ja, Sie müssen Ihre "sc.exe" in Ihren PFAD einfügen.

0
not2qubit