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 Cmdlet Get-Service
ruft Objekte ab, die die Dienste auf einem Computer 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 network
enthält. Beim Durchsuchen des Anzeigenamens werden netzwerkbezogene Dienste auch dann gefunden, wenn der Dienstname nicht Net
enthä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 win
beginnen, 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 Running
angezeigt.
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 Running
entspricht.
Status ist nur eine Eigenschaft von Dienstobjekten. Geben Sie Get-Service | Get-Member
ein, um alle Eigenschaften anzuzeigen.
Beispiel 6: Auflisten der Dienste auf dem 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 7: 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 1
hat und Running
einen Wert von 4
hat. 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 8: 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 9: 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
-DependentServices
Gibt an, dass dieses Cmdlet nur die Dienste abruft, die vom angegebenen Dienst abhängen.
Typ: | SwitchParameter |
Aliase: | DS |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DisplayName
Gibt in Form einer Zeichenfolge die Anzeigenamen der abzurufenden Dienste an. Wildcards sind zulässig.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-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.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-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.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 Ausdruck ein, der die Objekte ermittelt. Sie können ein Dienstobjekt an dieses Cmdlet weiterleiten.
Typ: | ServiceController[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Name
Gibt die Dienstnamen der abzurufenden Dienste an. Wildcards sind zulässig.
Typ: | String[] |
Aliase: | ServiceName |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | True |
-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.
Typ: | SwitchParameter |
Aliase: | SDO, ServicesDependedOn |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
Eingaben
Sie können ein Dienstobjekt an dieses Cmdlet weiterleiten.
Sie können einen Dienstnamen an dieses Cmdlet weiterleiten.
Ausgaben
Dieses Cmdlet gibt Objekte zurück, die die Dienste auf dem Computer darstellen.
Hinweise
PowerShell enthält die folgenden Aliase für Get-Service
:
- Fenster:
gsv
Dieses Cmdlet ist nur auf Windows-Plattformen verfügbar.
Ab PowerShell 6.0 werden die folgenden Eigenschaften den ServiceController--Objekten hinzugefügt: UserName, Description, DelayedAutoStart, BinaryPathNameund StartupType .
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-Service
ein, 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.
Anmerkung
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 1
hat und Running
einen Wert von 4
hat. Weitere Informationen finden Sie unter ServiceControllerStatus-.