Der Befehl
sc
aus der Windows Konsole, mit dem sich die Windows Dienste steuern lassen, hat einen entscheidenden Nachteil: Es sind keine Wildcards möglich, der Dienstname muss exakt so angegeben sein, wie er im System registriert ist.
Somit sind
sc stop
und
sc delete
schnell am Ende ihrer Möglichkeiten.
Angenommen ich habe einen oder mehrere Dienste mit einem bestimmten Namenspattern, die angesprochen und verarbeitet werden müssen. Das Namenspattern könnte beispielsweise sein: „[beliebige Zeichenkette]Manager“. Weitere Platzhalter wie „[beliebig]win[beliebig]svc[beliebig]“ sind ebenfalls möglich.
Im Gegensatz zu sc bietet
wmic service
entsprechende Möglichkeiten, mit Wildcards und komplexeren Anfragen umzugehen:
Abfragen:
REM Laufende Dienste mit "Manager" im Namen in der Konsole abfragen und einzelne Informationen filtern wmic service where (name like "%%Manager%%" and state="running") get caption, name, state, status REM Export aller Prozesse mit "Manager" im Namen als HTML exportieren wmic service where (name like "%%Manager%%") get /format:hform >> C:/services.html REM Namenspattern [beliebig]win[beliebig]svc[beliebig] suchen wmic service where (name like "%%win%%svc%%") get caption, name, state
Starten/Stoppen/Löschen:
wmic service where (name like "%%win%%svc%%") call startservice wmic service where (name like "%%Manager%%" and state="running") call stopservice wmic service where (name like "%%Manager%%") call delete