So listen Sie alle Windows-Dienste mithilfe von PowerShell oder der Befehlszeile auf


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 sorgen eine Reihe von Hintergrundprozessen für die Aufrechterhaltung eines funktionierenden Windows-PCs.

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.

Die Lösung? Befehlszeilentools. Mit Eingabeaufforderung oder Power Shell können Sie sich schnell einen Überblick über die betriebsbereiten Microsoft-Dienste verschaffen, die auf einem System ausgeführt werden, und so Probleme schnell diagnostizieren.

Windows-Dienste in der Eingabeaufforderung auflisten

Obwohl die Eingabeaufforderung nicht so flexibel und leistungsstark wie Windows PowerShell ist, ist es dennoch ein hervorragendes Tool für Systemadministratoren. Sie können den Befehl queryex verwenden, um den Status sowohl der aktiven als auch der deaktivierten Dienste abzurufen und dann Verwenden Sie den Befehl taskkill, um lästige Prozesse zu beenden.

  1. 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.
    1. Es gibt viele Möglichkeiten, den Befehl sc queryex zu verwenden. Typ und Status sind die beiden am häufigsten verwendeten Parameter. Geben Sie beispielsweise den folgenden Befehl ein, um alle Windows-Prozesse anzuzeigen:
    2. sc queryex type=service state=all

      1. Die Standardansicht kann etwas überwältigend sein. Sie können nur die Namen der Prozesse anzeigen, um die Analyse der Liste zu erleichtern:
      2. sc queryex type=service state=all | finde /i „SERVICE_NAME:“

        1. Standardmäßig listet der Befehl alle aktiven Prozesse auf. Um nach inaktiven zu suchen, ändern Sie den Statusparameter:
        2. sc queryex type=service state=inactive

          1. Sie können den Status eines bestimmten Prozesses auch anhand seines Namens abfragen. Dies ist für Systemadministratoren äußerst nützlich, da sie Batchdateien einrichten können, um viele Prozesse gleichzeitig zu überprüfen. Hier ist ein Beispiel:
          2. sc query DeviceInstall

            Windows-Dienste in PowerShell auflisten

            .

            Power Shell ist als dedizierte Befehlszeilen-Shell für modernes Windows gedacht. Daher bietet es über Befehle Zugriff auf nahezu jede Betriebssystemkomponente, und Windows-Dienste bilden da keine Ausnahme.

            Der Vorteil von PowerShell besteht darin, 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.

            1. Öffnen Sie zunächst PowerShell. Sie können im Startmenü danach suchen; Stellen Sie einfach sicher, dass Sie eine erhöhte Instanz ausführen (d. h. als Administrator).
              1. 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 an. Das einzige Problem ist, dass die Liste der Dienste ziemlich lang sein kann.
                1. Bei Verwendung von Get-Service ist es besser, die Liste in eine Textdatei zu exportieren. Sie können dies mit Pipes tun, etwa so:
                2. Get-Service | Out-File „C:\logs\All_Services.txt“

                  1. 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 abfragen, indem Sie deren Namen durch Kommas trennen.
                  2. Get-Service CryptSvc, COMSysApp

                    1. 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 laufenden Dienste abruft:
                    2. Get-Service | Where-Object {$_.Status -EQ „Running“

                      Dienstabhängigkeiten prüfen

                      Jeder komplexe Prozess ist in mehrere voneinander abhängige Dienste aufgeteilt. Aus diesem Grund reicht es oft nicht aus, einfach nur den Status eines bestimmten Dienstes zu erfahren. Sie müssen auch den Status der Dienste überprüfen, von denen der Dienst abhängig ist.

                      1. Um die von einem bestimmten Dienst benötigten Dienste anzuzeigen, verwenden Sie das Flag -RequiredServices mit dem Cmdlet Get-Service . Hier ist ein Beispiel:
                      2. .

                        Get-Service -Name CryptSvc –RequiredServices

                        1. Um eine Liste der Dienste zu erhalten, die von einem bestimmten Dienst abhängen, nutzen Sie ebenfalls das Flag -DependentServices .
                        2. Get-Service -Name CryptSvc -DependentServices

                          Diese beiden Flags sind beim Schreiben von Skripts zum automatischen Starten oder Stoppen von Windows-Diensten von entscheidender Bedeutung, da sie Ihnen die Möglichkeit geben, den Überblick über alle mit dem betroffenen Dienst verbundenen Dienste zu behalten.

                          Auflisten von Windows-Diensten auf Remotecomputern

                          Die PowerShell-Methode ist nicht auf lokale Computer beschränkt. Sie können das Get-Service-Cmdlet mit derselben oben beschriebenen Syntax auch verwenden, um die Prozesse von Remote-PCs abzufragen. Hängen Sie am Ende einfach das Flag -ComputerName an, um anzugeben, von welchem ​​Remotecomputer Informationen abgerufen werden sollen.

                          Hier ist ein Beispiel:

                          get-service CryptSvc -ComputerName Workstation7

                          Windows-Dienste in PowerShell verwalten

                          Das Abrufen des Status von Diensten ist nicht das Einzige, was Sie in Windows PowerShell tun können. Als vollwertige Skriptumgebung bietet sie Skriptalternativen 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.

                          1. 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, wobei nur der Name des Dienstes erforderlich ist. So können Sie beispielsweise einen Dienst stoppen:
                          2. Stop-Service -Name Spooler

                            1. Das Starten eines Dienstes geht ähnlich:
                            2. Start-Service -Name Spooler

                              1. Wenn ein Dienst nicht ordnungsgemäß funktioniert, können Sie ihn auch neu starten:
                              2. Restart-Service -Name Spooler

                                1. Es gibt auch das Cmdlet „Set-Service“, mit dem sich die Eigenschaften eines Dienstes ändern lassen. Hier deaktivieren wir den automatischen Start des Druckspooler-Dienstes:
                                2. .

                                  Set-Service „Spooler“ -StartupType deaktiviert

                                  Wie listet man Windows-Dienste am besten auf?

                                  Ganz gleich, ob Sie Windows 10 oder einen Windows Server verwenden, die Möglichkeit, eine Liste aller Windows-Dienste anzuzeigen, kann praktisch sein. Sie können Probleme mit kritischen Systemfunktionen oder Stoppen Sie unnötige Microsoft-Dienste diagnostizieren, um die Leistung zu verbessern.

                                  Für diesen Zweck ist PowerShell die beste Option. Während Sie eine Dienstliste in der Eingabeaufforderung abrufen können, sind die zusätzlichen Funktionen von PowerShell nützlicher.

                                  Sie können PowerShell-Cmdlets verwenden, um den Dienststatus von Windows-Prozessen abzurufen und sie nach ihrem Status oder anderen Parametern zu filtern. Außerdem ist es einfach, abhängige Dienste zu ermitteln und diese je nach Bedarf zu starten oder zu stoppen.

                                  .

                                  Zusammenhängende Posts:


                                  26.06.2022