Verwenden des Cmdlet \"Get-Service\"

Auflisten von Dienstinformationen

Die folgende Information wird Sie vielleicht schockieren – setzen Sie sich also besser, bevor Sie weiterlesen: Das Cmdlet Get-Service ist darauf ausgelegt, Informationen über die auf Ihrem Computer installierten Dienste abzufragen. (Dabei behaupten einige Leute, Windows PowerShell sei zu kompliziert!) Möchten Sie tatsächlich Informationen über alle Dienste auf Ihrem Computer? Dann rufen Sie Get-Service ohne zusätzliche Parameter auf:

Get-Service

Sie erhalten etwa die folgenden Informationen zurück:

Status   Name               DisplayName
------   ----               -----------
Running  AdobeActiveFile... Adobe Active File Monitor V4
Stopped  Alerter            Alerter
Running  ALG                Application Layer Gateway Service
Stopped  AppMgmt            Application Management
Running  ASChannel          Local Communication Channel

Alternativ können Sie auch die Filterfunktionen von Windows PowerShell nutzen, um nur eine Untermenge der auf Ihrem Computer installierten Dienste zurückzugeben. Der folgende Befehl beispielsweise leitet die von Get-Service zurückgegebenen Daten zum Cmdlet Where-Object weiter. Where-Object wiederum filtert alles aus, außer diejenigen Dienste, die angehalten wurden.

Get-Service | Where-Object {$_.status -eq "stopped"}

Im obigen Befehl stellt die Zeichenfolge $_. das über die Pipeline weitergebene Objekt dar (d. h. alle Dienste und deren Eigenschaften), während status einfach die Diensteigenschaft ist, die wir herausfiltern wollen. Und weil wir nur an den angehaltenen Diensten interessiert sind, verwenden wir die Syntax –eq "stopped”. Was würden wir schreiben, wenn uns nur die in Ausführung befindlichen Dienste interessieren? In diesem Fall verwenden wir den folgenden Befehl:

Get-Service | Where-Object {$_.status -eq "running"}

Welche Art Daten erhalten wir zurück, wenn wir nur Dienste abfragen, die momentan angehalten sind? Etwa die folgenden Daten:

Status   Name               DisplayName
------   ----               -----------
Stopped  Alerter            Alerter
Stopped  AppMgmt            Application Management
Stopped  aspnet_state       ASP.NET State Service
Stopped  BITS               Background Intelligent Transfer Ser...
Stopped  Browser            Computer Browser

Standardmäßig gibt Windows PowerShell die Dienste in alphabetischer Reihenfolge zurück. Mit Hilfe des Cmdlets Sort-Object können Sie die Daten jedoch beliebig sortieren. Der folgende Befehl beispielsweise sortiert Dienste zuerst nach dem Status und dann nach dem angezeigten Namen:

Get-Service | Sort-Object status,displayname

Aliase für "Get-Service"

  • gsv