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.
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
Get-Service
Mit diesem Befehl werden alle Dienste auf dem Computer abgerufen.
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.
Beispiel 2: Abrufen von Diensten, die mit einer Suchzeichenfolge beginnen
Get-Service "wmi*"
Mit diesem Befehl werden Dienste mit Dienstnamen abgerufen, die mit WMI (der Abkürzung für Windows Management Instrumentation) beginnen.
Beispiel 3: Anzeigen von Diensten, die eine Suchzeichenfolge enthalten
Get-Service -Displayname "*network*"
Mit diesem Befehl werden Dienste mit einem Anzeigenamen angezeigt, der das Wort "Netzwerk" enthält. Bei der Suche nach dem Anzeigenamen werden netzwerkbezogene Dienste auch dann gefunden, wenn der Dienstname nicht "Net" enthält, z. B. xmlprov, der Network Provisioning Service.
Beispiel 4: Abrufen von Diensten, die mit einer Suchzeichenfolge und einem Ausschluss beginnen
Get-Service -Name "win*" -Exclude "WinRM"
Mit diesen Befehlen werden nur die Dienste mit Dienstnamen abgerufen, die mit win beginnen, mit Ausnahme des WinRM-Diensts.
Beispiel 5: Anzeigen von Diensten, die derzeit aktiv sind
Get-Service | Where-Object {$_.Status -eq "Running"}
Mit diesem Befehl werden nur die Dienste angezeigt, die derzeit aktiv sind. Das Cmdlet Get-Service wird verwendet, um alle Dienste auf dem Computer abzurufen. Der Pipelineoperator (|) übergibt die Ergebnisse an das Cmdlet Where-Object, das nur die Dienste mit einer Status-Eigenschaft auswählt, die Running entspricht.
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 kein Windows PowerShell-Remoting verwendet, können Sie diesen Parameter auch dann 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
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
...
Im ersten Befehl wird das Cmdlet Get-Service verwendet, um die Dienste auf dem Computer abzurufen. Ein Pipelineoperator (|) sendet die Dienste an das Cmdlet Where-Object , das die Dienste auswählt, deren DependentServices-Eigenschaft nicht NULL ist.
Ein anderer Pipelineoperator sendet die Ergebnisse an das Cmdlet Format-List. Der Befehl verwendet den Parameter Property , um den Namen des Diensts, den Namen der abhängigen Dienste und eine berechnete Eigenschaft anzuzeigen, die die Anzahl der abhängigen Dienste anzeigt, die jeder Dienst hat.
Beispiel 8: Sortieren von Diensten nach Eigenschaftswert
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
Dieser Befehl zeigt, dass, wenn Sie Dienste in aufsteigender Reihenfolge nach dem Wert ihrer Status-Eigenschaft sortieren, gestoppte Dienste vor dem Ausführen von Diensten angezeigt werden. Dies liegt daran, dass es sich bei dem Wert von Status um eine Enumeration handelt, bei der Stopped den Wert 1 und Running den Wert 4 hat.
Wenn Sie ausgeführte Dienste zuerst auflisten möchten, verwenden Sie den Parameter Descending des Cmdlets Sort-Object.
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)
Mit diesem Befehl wird das Cmdlet "Get-Service " verwendet, 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
Get-Service "WinRM" -RequiredServices
Mit diesem Befehl werden die Dienste abgerufen, die für den WinRM-Dienst erforderlich sind.
Der Befehl gibt den Wert der ServicesDependedOn-Eigenschaft des Diensts zurück.
Beispiel 11: Abrufen eines Diensts über den Pipelineoperator
"WinRM" | Get-Service
Mit diesem Befehl wird der WinRM-Dienst auf dem lokalen Computer abgerufen. In diesem Beispiel wird gezeigt, dass Sie eine Zeichenfolge für den Dienstnamen (in Anführungszeichen) über die Pipeline an Get-Service übergeben können.
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 localhost ein.
Dieser Parameter basiert nicht auf Windows PowerShell-Remoting. Sie können den ComputerName-Parameter von Get-Service auch dann verwenden, wenn der 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.
Standardmäßig ruft dieses Cmdlet alle Dienste ab.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| 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. Standardmäßig ruft dieses Cmdlet alle Dienste auf dem Computer ab.
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 ein Muster 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 ein Muster 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 auch ein Dienstobjekt über die Pipeline an dieses Cmdlet übergeben.
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. Standardmäßig ruft dieses Cmdlet alle Dienste auf dem Computer ab.
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. Standardmäßig ruft dieses Cmdlet alle Dienste ab.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| 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
System.ServiceProcess.ServiceController, System.String
Sie können ein Dienstobjekt oder einen Dienstnamen über die Pipeline an dieses Cmdlet übergeben.
Ausgaben
ServiceController
Dieses Cmdlet gibt Objekte zurück, die die Dienste auf dem Computer darstellen.
Hinweise
Sie können auch über den integrierten Alias "gsv" auf Get-Service verweisen. Weitere Informationen finden Sie unter about_Aliases.
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 Anzeigename angezeigt.
Wenn Sie in aufsteigender Reihenfolge nach Statuswert sortieren, werden "Gestoppte" Dienste vor "Ausgeführt" Diensten angezeigt. Die Status-Eigenschaft eines Diensts ist ein Aufzählungswert, in dem die Namen der Status ganzzahlige Werte darstellen. Die Sortierung basiert auf dem ganzzahligen Wert, nicht auf dem Namen. "Wird ausgeführt" wird vor "Gestoppt" angezeigt, da "Gestoppt" den Wert "1" und "Wird ausgeführt" den Wert "4" hat.