Die laufenden Anwendungen, die Sie auf Ihrem Bildschirm sehen, sind nur ein Bruchteil dessen, was in Windows passiert. Von der Verwaltung von Gerätetreibern bis hin zur Gewährleistung der Sicherheit halten eine Reihe von Hintergrundprozessen einen funktionierenden Windows-PC aufrecht.
Für jeden Systemadministrator, der mehrere Computer überwacht, ist es wichtig, den Status dieser kritischen Dienste anzeigen zu können. Der Task-Manager-Ansatz ist dafür zu langsam, und Sie können ihn nicht mit einem Skript automatisieren.
Inhaltsverzeichnis
Die Lösung? Befehlszeilen-Tools. Mithilfe der Eingabeaufforderung oder PowerShell können Sie sich schnell einen Überblick über die auf einem System ausgeführten Microsoft-Dienste verschaffen und Probleme schnell diagnostizieren.
Auflisten von Windows-Diensten in der Eingabeaufforderung
Auch wenn sie nicht so flexibel oder leistungsfähig wie Windows PowerShell ist, ist die Eingabeaufforderung dennoch ein hervorragendes Tool für Systemadministratoren. Sie können den Befehl queryex verwenden, um den Status sowohl aktiver als auch deaktivierter Dienste abzurufen, und dann den Befehl taskkill verwenden, um lästige Prozesse zu beenden.
Um den Befehl queryex zu verwenden, führen Sie die Eingabeaufforderung als Administrator aus. Sie finden die App, indem Sie im Startmenü nach cmd suchen. Es gibt viele Möglichkeiten, das sc zu verwenden queryex-Befehl. Type und State sind die beiden am häufigsten verwendeten Parameter. Geben Sie beispielsweise den folgenden Befehl ein, um alle Windows-Prozesse anzuzeigen:
sc queryex type=service state=all
Die Standardansicht kann etwas überwältigend sein. Sie können nur die Namen der Prozesse anzeigen, um die Liste leichter zu analysieren:
sc queryex type=service state=all | finde/i „SERVICE_NAME:“
Standardmäßig listet der Befehl alle aktiven Prozesse auf. Um nach inaktiven zu suchen, ändern Sie den Zustandsparameter:
sc queryex type=service state=inactive
Sie können den Status eines bestimmten Prozesses auch anhand seines Namens abfragen. Dies ist unglaublich nützlich für Systemadministratoren, da sie Batch-Dateien einrichten können, um viele Prozesse gleichzeitig zu überprüfen. Hier ist ein Beispiel:
sc query DeviceInstall
Auflisten von Windows-Diensten in PowerShell
PowerShell soll eine dedizierte Befehlszeilen-Shell für modernes Windows sein. Als solches bietet es über Befehle Zugriff auf so ziemlich jede Betriebssystemkomponente, und Windows-Dienste sind keine Ausnahme.
Der Vorteil von PowerShell ist, dass Sie es einfach automatisieren können. Alle PowerShell-Befehle können in komplexe Skripte kompiliert werden, sodass Sie problemlos Systemverwaltungsaufgaben auf mehreren PCs einrichten können.
Beginnen Sie mit dem Öffnen von PowerShell. Sie können im Startmenü danach suchen; Stellen Sie einfach sicher, dass Sie eine erhöhte Instanz ausführen (d. h. als Administrator). Der einfachste Befehl zum Auflisten von Windows-Diensten in PowerShell ist Get-Service. Es zeigt alle Dienste auf Ihrem Computer zusammen mit ihrem Status und Namen. Das einzige Problem ist, dass die Liste der Dienste ziemlich lang sein kann.
Bei Verwendung von Get-Service , ist es besser, die Liste in eine Textdatei zu exportieren. Sie können dies mithilfe von Pipes wie folgt tun:
Get-Service | Out-Datei „C:\logs\All_Services.txt“
Um den Status eines bestimmten Dienstes abzurufen, folgen Sie dem Befehl Get-Service mit dem Namen des Dienstes. Sie können den Status mehrerer Prozesse anfordern, indem Sie ihre Namen durch Kommas trennen.
Get-Service CryptSvc, COMSysApp
Pipes können auch verwendet werden, um das Cmdlet Get-Service mit der Funktion Where-Object zu kombinieren und die Ergebnisse nach Status zu filtern. Der folgende Befehl veranschaulicht dies, indem er alle ausgeführten Dienste abruft:
Get-Service | Where-Object {$_.Status-EQ „Running“}
Überprüfen von Dienstabhängigkeiten
Jeder komplexe Prozess wird in mehrere voneinander abhängige Dienste aufgeteilt. Aus diesem Grund reicht es oft nicht aus, nur den Status eines bestimmten Dienstes zu erhalten. Sie müssen auch den Status der Dienste überprüfen, von denen der Dienst abhängig ist.
Um die von einem bestimmten Dienst benötigten Dienste anzuzeigen, verwenden Sie das -RequiredServices-Flag mit dem Get-Service -Cmdlet. Hier ist ein Beispiel:
Get-Service-Name CryptSvc –RequiredServices
Um eine Liste der Dienste zu erhalten, die von einem bestimmten Dienst abhängen, nutzen Sie auf ähnliche Weise das -DependentServices-Flag.
Get-Service-Name CryptSvc-DependentServices
Diese beiden Flags sind entscheidend beim Schreiben von Skripten zum automatischen Starten oder Stoppen von Windows-Diensten, da sie Ihnen die Möglichkeit geben, alle mit den betroffenen Diensten verbundenen Dienste zu verfolgen Dienst.
Auflisten von Windows-Diensten auf Remote-Computern
Die PowerShell-Methode ist nicht auf lokale Computer beschränkt. Sie können das Get-Service-Cmdlet mit derselben oben beschriebenen Syntax verwenden, um auch die Prozesse von Remote-PCs abzufragen. Hängen Sie einfach das -ComputerName-Flag am Ende an, um anzugeben, von welchem Remote-Computer Informationen abgerufen werden sollen.
Hier ist ein Beispiel:
get-service CryptSvc-ComputerName Workstation7
Verwalten von Windows-Diensten in PowerShell
Den Status von Diensten abzurufen ist nicht das Einzige, was Sie in Windows PowerShell tun können. Als vollwertige Scripting-Umgebung bietet es Script-Alternativen zu allen GUI-Optionen.
Powershell-Cmdlets können Dienste stoppen, starten, neu starten oder sogar ändern. In Kombination mit automatisierten Get-Service-Befehlen können PowerShell-Skripte geschrieben werden, um alltägliche Systemverwaltungsaufgaben vollständig zu automatisieren.
Neben der Abfrage des Status von Diensten können Sie diese auch mit PowerShell verwalten. Das Starten oder Stoppen von Diensten kann mit einem einzigen Befehl erfolgen, der nur den Namen des Dienstes erfordert. So können Sie beispielsweise einen Dienst stoppen:
Stop-Service-Name Spooler
Das Starten eines Dienstes geht ähnlich:
Start-Service-Name Spooler
Wenn ein Dienst nicht richtig funktioniert , können Sie ihn auch neu starten:
Restart-Service-Name Spooler
Es gibt auch das Cmdlet Set-Service, mit dem die Eigenschaften eines Dienstes geändert werden können. Hier deaktivieren wir den automatischen Start des Print Spooler-Dienstes:
Set-Service’Spooler’-StartupType Disabled
Was ist der beste Weg, um Windows-Dienste aufzulisten?
Ob Sie es sind Wenn Sie Windows 10 oder einen Windows Server ausführen, kann es praktisch sein, eine Liste aller Windows-Dienste anzuzeigen. Sie können Probleme mit kritischen Systemfunktionen diagnostizieren oder unnötige Microsoft-Dienste stoppen, um die Leistung zu verbessern.
Zu diesem Zweck ist PowerShell die beste Option. Während Sie eine Dienstliste in der Eingabeaufforderung abrufen können, ist die zusätzliche Funktionalität von PowerShell nützlicher.
Sie können PowerShell-Cmdlets verwenden, um den Dienststatus von Windows-Prozessen abzurufen, indem Sie sie nach ihrem Status oder anderen Parametern filtern. Es ist auch einfach, abhängige Dienste zu bestimmen und sie nach Bedarf zu starten oder zu stoppen.