Share via


Get-Service

Ruft die Dienste auf dem Computer ab.

Syntax

Get-Service
   [[-Name] <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   -DisplayName <String[]>
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-InputObject <ServiceController[]>]
   [<CommonParameters>]

Beschreibung

Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.

Das Get-Service Cmdlet ruft Objekte ab, die die Dienste auf einem Computer darstellen, einschließlich ausgeführter und beendeter Dienste. Wenn ohne Parameter ausgeführt wird, werden standardmäßig Get-Service alle Dienste des lokalen Computers zurückgegeben.

Sie können dieses Cmdlet anweisen, nur bestimmte Dienste abzurufen, indem Sie den Dienstnamen oder den Anzeigenamen der Dienste angeben, oder Sie können Dienstobjekte an dieses Cmdlet weiterleiten.

Beispiele

Beispiel 1: Abrufen aller Dienste auf dem Computer

In diesem Beispiel werden alle Dienste auf dem Computer abgerufen. Es verhält sich so, als ob Sie eingegeben haben Get-Service *. In der Standardanzeige werden der Status, der Dienstname und der Anzeigename der einzelnen Dienste angezeigt.

Get-Service

Beispiel 2: Abrufen von Diensten, die mit einer Suchzeichenfolge beginnen

In diesem Beispiel werden Dienste mit Dienstnamen abgerufen, die mit WMI beginnen (Windows-Verwaltungsinstrumentation).

Get-Service "wmi*"

Beispiel 3: Anzeigen von Diensten, die eine Suchzeichenfolge enthalten

In diesem Beispiel werden Dienste mit einem Anzeigenamen angezeigt, der das Wort networkenthält. Beim Durchsuchen des Anzeigenamens werden netzwerkbezogene Dienste gefunden, auch wenn der Dienstname nicht enthält Net, z. B. xmlprov, den Netzwerkbereitstellungsdienst.

Get-Service -Displayname "*network*"

Beispiel 4: Abrufen von Diensten, die mit einer Suchzeichenfolge und einem Ausschluss beginnen

In diesem Beispiel werden nur die Dienste mit Dienstnamen abgerufen, die mit winbeginnen, mit Ausnahme des WinRM-Diensts.

Get-Service -Name "win*" -Exclude "WinRM"

Beispiel 5: Anzeigen von Diensten, die derzeit aktiv sind

In diesem Beispiel werden nur die Dienste mit der status angezeigtRunning.

Get-Service | Where-Object {$_.Status -eq "Running"}

Get-Service ruft alle Dienste auf dem Computer ab und sendet die Objekte über die Pipeline. Das Where-Object Cmdlet wählt nur die Dienste mit einer Status-Eigenschaft aus, die gleich ist Running.

%%amp;quot;Status%%amp;quot; ist nur eine der Eigenschaften von Dienstobjekten. Um alle Eigenschaften anzuzeigen, geben Sie ein Get-Service | Get-Member.

Beispiel 6: Auflisten der Dienste auf dem Computer mit abhängigen Diensten

In diesem Beispiel werden Dienste abgerufen, die über abhängige Dienste verfügen.

Get-Service |
  Where-Object {$_.DependentServices} |
    Format-List -Property Name, DependentServices, @{
      Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
    }

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

Name                  : Dhcp
DependentServices     : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...

Das Get-Service Cmdlet ruft alle Dienste auf dem Computer ab und sendet die Objekte über die Pipeline. Das Where-Object Cmdlet wählt die Dienste aus, deren DependentServices-Eigenschaft nicht NULL ist.

Die Ergebnisse werden an das Format-List Cmdlet gesendet. Der Parameter Property zeigt den Namen des Diensts, den Namen der abhängigen Dienste und eine berechnete Eigenschaft an, die die Anzahl der abhängigen Dienste für jeden Dienst anzeigt.

Beispiel 7: Sortieren von Diensten nach Eigenschaftswert

Dieses Beispiel zeigt, dass beendete Dienste angezeigt werden, wenn Sie Dienste in aufsteigender Reihenfolge nach dem Wert ihrer Status-Eigenschaft sortieren, bevor Dienste ausgeführt werden. Dies geschieht, weil der Wert von Status eine Enumeration ist, in der Stopped der Wert von 1und Running der wert ist 4. Weitere Informationen finden Sie unter ServiceControllerStatus.

Um zuerst ausgeführte Dienste aufzulisten, verwenden Sie den Absteigenden Parameter des Sort-Object Cmdlets.

Get-Service "s*" | Sort-Object status

Status   Name               DisplayName
------   ----               -----------
Stopped  stisvc             Windows Image Acquisition (WIA)
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  SysmonLog          Performance Logs and Alerts
Running  Spooler            Print Spooler
Running  srservice          System Restore Service
Running  SSDPSRV            SSDP Discovery Service
Running  ShellHWDetection   Shell Hardware Detection
Running  Schedule           Task Scheduler
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon

Beispiel 8: Abrufen der abhängigen Dienste eines Diensts

In diesem Beispiel werden die Dienste abgerufen, die der WinRM-Dienst benötigt. Der Wert der ServicesDependedOn-Eigenschaft des Diensts wird zurückgegeben.

Get-Service "WinRM" -RequiredServices

Beispiel 9: Abrufen eines Diensts über den Pipelineoperator

In diesem Beispiel wird der WinRM-Dienst auf dem lokalen Computer abgerufen. Die in Anführungszeichen eingeschlossene Dienstnamenzeichenfolge wird an die Pipeline Get-Servicegesendet.

"WinRM" | Get-Service

Parameter

-DependentServices

Gibt an, dass dieses Cmdlet nur die Dienste abruft, die vom angegebenen Dienst abhängen.

Type:SwitchParameter
Aliases:DS
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Gibt als Zeichenfolgenarray die Anzeigenamen der abzurufenden Dienste an. Platzhalter sind zulässig.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

Gibt als Zeichenfolgenarray einen Dienst oder dienste an, die von diesem Cmdlet aus dem Vorgang ausgeschlossen werden. Der Wert dieses Parameters qualifiziert den Parameter Name . Geben Sie ein name-Element oder -Muster ein, z. B s*. . Platzhalter sind zulässig.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

Gibt als Zeichenfolgenarray einen Dienst oder dienste an, die dieses Cmdlet in den Vorgang einschließt. Der Wert dieses Parameters qualifiziert den Parameter Name . Geben Sie ein name-Element oder -Muster ein, z. B s*. . Platzhalter sind zulässig.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

Gibt ServiceController-Objekte an, die die abzurufenden Dienste darstellen. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder einen Ausdruck ein, mit dem die Objekte abgerufen werden. Sie können ein Dienstobjekt an dieses Cmdlet weiterleiten.

Type:ServiceController[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Gibt die Dienstnamen der abzurufenden Dienste an. Platzhalter sind zulässig.

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-RequiredServices

Gibt an, dass dieses Cmdlet nur die Dienste abruft, die für diesen Dienst erforderlich sind. Dieser Parameter ruft den Wert der ServicesDependedOn-Eigenschaft des Diensts ab.

Type:SwitchParameter
Aliases:SDO, ServicesDependedOn
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Eingaben

System.ServiceProcess.ServiceController, System.String

Sie können ein Dienstobjekt oder einen Dienstnamen an dieses Cmdlet weiterleiten.

Ausgaben

ServiceController

Dieses Cmdlet gibt Objekte zurück, die die Dienste auf dem Computer darstellen.

Hinweise

Dieses Cmdlet ist nur auf Windows-Plattformen verfügbar.

Ab PowerShell 6.0 werden den ServiceController-Objekten die folgenden Eigenschaften hinzugefügt: UserName, Description, DelayedAutoStart, BinaryPathName und StartupType .

Sie können auch auf den Get-Service integrierten Alias verweisen. gsv Weitere Informationen finden Sie unter about_Aliases.

Dieses Cmdlet kann Dienste nur anzeigen, wenn der aktuelle Benutzer über die Berechtigung verfügt, sie anzuzeigen. Wenn dieses Cmdlet keine Dienste anzeigt, verfügen Sie möglicherweise nicht über die Berechtigung, sie anzuzeigen.

Geben Sie ein, um den Dienstnamen und anzeigenamen der einzelnen Dienste in Ihrem System Get-Servicezu finden. Die Dienstnamen werden in der Spalte Name und die Anzeigenamen in der Spalte DisplayName angezeigt.

Wenn Sie in aufsteigender Reihenfolge nach status Wert sortieren, Stopped werden Dienste vor diensten Running angezeigt. Die Status-Eigenschaft eines Diensts ist ein aufgezählter Wert, in dem die Namen der Statuses ganzzahlige Werte darstellen. Die Sortierung basiert auf dem ganzzahligen Wert, nicht dem Namen. Running wird zuvor Stopped angezeigt, da Stopped der Wert den 1- und Running den -Wert 4hat. Weitere Informationen finden Sie unter ServiceControllerStatus.