Freigeben über


Get-Service

Ruft die Dienste auf einem lokalen oder Remotecomputer ab.

Syntax

Default (Standard)

Get-Service
    [[-Name] <String[]>]
    [-ComputerName <String[]>]
    [-DependentServices]
    [-RequiredServices]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [<CommonParameters>]

DisplayName

Get-Service
    -DisplayName <String[]>
    [-ComputerName <String[]>]
    [-DependentServices]
    [-RequiredServices]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [<CommonParameters>]

InputObject

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

Beschreibung

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

Sie können dieses Cmdlet weiterleiten, um 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 aufgelistet. Es verhält sich so, als ob Sie Get-Service *eingegeben haben. Die Standardanzeige zeigt den Status, den Dienstnamen und den Anzeigenamen der einzelnen Dienste an.

Get-Service

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

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

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 auch dann gefunden, wenn der Dienstname nicht Netenthält, z. B. xmlprov, der 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 ausgewählt, deren Dienstnamen mit winbeginnen, ausgenommen der WinRM-Dienst.

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

Beispiel 5: Anzeigen von Diensten, die derzeit aktiv sind

In diesem Beispiel werden nur die Dienste mit dem Status Runningangezeigt.

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

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

Status ist nur eine Eigenschaft von Dienstobjekten. Geben Sie Get-Service | Get-Memberein, um alle Eigenschaften anzuzeigen.

Beispiel 6: Abrufen der Dienste auf einem Remotecomputer

Get-Service -ComputerName "Server02"

Dieser Befehl ruft die Dienste auf dem Server02-Remotecomputer ab.

Da der ComputerName Parameter von Get-Service keine Windows PowerShell-Remoting verwendet, können Sie diesen Parameter auch verwenden, wenn der Computer nicht für das Remoting in Windows PowerShell konfiguriert ist.

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

Dieses Beispiel ruft Dienste ab, die abhängige Dienste haben.

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 Cmdlet Get-Service ruft alle Dienste auf dem Computer ab und sendet die Objekte an die Pipeline. Das cmdlet Where-Object wählt die Dienste aus, deren DependentServices- eigenschaft nicht null ist.

Die Ergebnisse werden über die Pipeline an das Cmdlet Format-List weitergeleitet. 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 8: Sortieren von Diensten nach Eigenschaftswert

Dieses Beispiel zeigt, dass, wenn Sie Dienste in aufsteigender Reihenfolge nach dem Wert ihrer Status-Eigenschaft sortieren, angehaltene Dienste vor ausgeführten Diensten erscheinen. Dies geschieht, da der Wert von Status eine Aufzählung ist, in der Stopped einen Wert von 1hat und Running einen Wert von 4hat. Weitere Informationen finden Sie unter ServiceControllerStatus-.

Verwenden Sie den Parameter Descending des Cmdlets Sort-Object, um zuerst ausgeführte Dienste aufzulisten.

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 9: Abrufen von Diensten auf mehreren Computern

Get-Service -Name "WinRM" -ComputerName "localhost", "Server01", "Server02" |
 Format-Table -Property MachineName, Status, Name, DisplayName -Auto
MachineName    Status  Name  DisplayName
------------   ------  ----  -----------
localhost      Running WinRM Windows Remote Management (WS-Management)
Server01       Running WinRM Windows Remote Management (WS-Management)
Server02       Running WinRM Windows Remote Management (WS-Management)

Dieser Befehl verwendet das Cmdlet Get-Service, um einen Get-Service Winrm Befehl auf zwei Remotecomputern und dem lokalen Computer (localhost) auszuführen.

Der Befehl wird auf den Remotecomputern ausgeführt, und die Ergebnisse werden an den lokalen Computer zurückgegeben. Ein Pipelineoperator (|) sendet die Ergebnisse an das Cmdlet Format-Table, das die Dienste als Tabelle formatiert. Der befehl Format-Table verwendet den Parameter Property, um die in der Tabelle angezeigten Eigenschaften anzugeben, einschließlich der MachineName-eigenschaft.

Beispiel 10: Abrufen der abhängigen Dienste eines Diensts

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

Get-Service "WinRM" -RequiredServices

Beispiel 11: Abrufen eines Diensts über den Pipelineoperator

In diesem Beispiel wird der WinRM-Dienst auf dem lokalen Computer angezeigt. Die Zeichenfolge des Dienstnamens, eingeschlossen in Anführungszeichen, wird in der Pipeline an Get-Service weitergegeben.

"WinRM" | Get-Service

Parameter

-ComputerName

Ruft die Dienste ab, die auf den angegebenen Computern ausgeführt werden. Der Standardwert ist der lokale Computer.

Geben Sie den NetBIOS-Namen, eine IP-Adresse oder einen vollqualifizierten Domänennamen (FQDN) eines Remotecomputers ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, einen Punkt (.) oder localhostein.

Dieser Parameter basiert nicht auf Windows PowerShell-Remoting. Sie können den ComputerName Parameter von Get-Service verwenden, auch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Cn

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-DependentServices

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

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:DS

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-DisplayName

Gibt in Form einer Zeichenfolge die Anzeigenamen der abzurufenden Dienste an. Wildcards sind zulässig.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

DisplayName
Position:Named
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Exclude

Gibt als Zeichenfolge einen Dienst oder mehrere Dienste an, die dieses Cmdlet von der Operation ausschließt. Der Wert dieses Parameters qualifiziert den parameter Name. Geben Sie ein Namenselement oder Einmuster ein, z. B. s*. Wildcards sind zulässig.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Include

Gibt als Zeichenfolge einen Dienst oder mehrere Dienste an, die dieses Cmdlet in die Operation einbezieht. Der Wert dieses Parameters qualifiziert den parameter Name. Geben Sie ein Namenselement oder Einmuster ein, z. B. s*. Wildcards sind zulässig.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-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 Ausdruck ein, der die Objekte ermittelt. Sie können ein Dienstobjekt an dieses Cmdlet weiterleiten.

Parametereigenschaften

Typ:

ServiceController[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

InputObject
Position:Named
Obligatorisch:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Name

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

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False
Aliase:Dienstname

Parametersätze

Default
Position:0
Obligatorisch:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-RequiredServices

Gibt an, dass dieses Cmdlet nur die Dienste abruft, die dieser Dienst benötigt. Dieser Parameter ruft den Wert der ServicesDependedOn Eigenschaft des Diensts ab.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:True
Nicht anzeigen:False
Aliase:SDO, ServicesDependedOn

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

ServiceController

Sie können ein Dienstobjekt an dieses Cmdlet weiterleiten.

String

Sie können einen Dienstnamen an dieses Cmdlet weiterleiten.

Ausgaben

ServiceController

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

Hinweise

Windows PowerShell enthält die folgenden Aliase für Get-Service:

  • gsv

Dieses Cmdlet kann Dienste nur anzeigen, wenn der aktuelle Benutzer über die Berechtigung zum Anzeigen verfügt. Wenn dieses Cmdlet keine Dienste anzeigt, haben Sie möglicherweise keine Berechtigung, diese zu sehen.

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

Hinweis

Normalerweise gibt Get-Service Informationen über Dienste und nicht über Treiber zurück. Wenn Sie jedoch den Namen eines Treibers angeben, gibt Get-Service Informationen zum Treiber zurück.

  • Aufzählung enthält keine Gerätetreiberdienste
  • Wenn ein Wildcard angegeben wird, gibt das Cmdlet nur Windows-Dienste zurück.
  • Wenn Sie den Name oder DisplayName- angeben, der exakt mit einem Gerätedienstnamen übereinstimmt, wird die Geräteinstanz zurückgegeben.

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