Get-Service
Ruft die Dienste auf einem lokalen Computer oder einem Remotecomputer ab.
Syntax
Get-Service
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Get-Service
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
-DisplayName <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Get-Service
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[-InputObject <ServiceController[]>]
[<CommonParameters>]
Beschreibung
Das Get-Service
Cmdlet ruft Objekte ab, die die Dienste auf einem lokalen Computer oder auf einem Remotecomputer darstellen, einschließlich ausgeführter und beendeter Dienste. Wenn standardmäßig Get-Service
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 abgerechnet. 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
(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 den Netzwerkbereitstellungsdienst enthält Net
, z. B. xmlprov.
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 angezeigt, die mit win
Ausnahme des WinRM-Diensts beginnen.
Get-Service -Name "win*" -Exclude "WinRM"
Beispiel 5: Anzeigen von Diensten, die derzeit aktiv sind
In diesem Beispiel werden nur die Dienste mit einem Status von Running
angezeigt.
Get-Service | Where-Object {$_.Status -eq "Running"}
Get-Service
ruft alle Dienste auf dem Computer ab und sendet die Objekte an 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. Geben Sie ein, Get-Service | Get-Member
um alle Eigenschaften anzuzeigen.
Beispiel 6: Abrufen der Dienste auf einem Remotecomputer
Get-Service -ComputerName "Server02"
Dieser Befehl ruft die Dienste auf dem Remotecomputer %%amp;quot;Server02%%amp;quot; ab.
Da der Parameter "ComputerName " von Get-Service
"Windows PowerShell"-Remoting nicht verwendet wird, 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
In diesem Beispiel werden Dienste mit abhängigen Diensten ab.
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 an 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 8: 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 Aufzählung ist, in der Stopped
ein Wert von 1
, und Running
ein Wert von 4
. Weitere Informationen finden Sie unter ServiceControllerStatus.
Verwenden Sie den Absteigenden Parameter des Sort-Object
Cmdlets, um die Ausführung von Diensten zuerst 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 Get-Service
Cmdlet, 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 Format-Table
Cmdlet, das die Dienste als Tabelle formatiert. Der Format-Table
Befehl 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, die der WinRM-Dienst benötigt, abrufen. Der Wert der ServicesDependedOn-Eigenschaft des Diensts 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 in Anführungszeichen eingeschlossene Zeichenfolge des Dienstnamens wird an die Pipeline gesendet.Get-Service
"WinRM" | Get-Service
Parameter
-ComputerName
Ruft die Dienste ab, die auf den angegebenen Computern ausgeführt werden. Die Standardeinstellung 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
einen .
Dieser Parameter beruht nicht auf Windows PowerShell-Remoting. Sie können den Parameter Get-Service
"ComputerName" auch dann verwenden, wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Typ: | String[] |
Aliase: | Cn |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-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 als Zeichenfolgenarray die Anzeigenamen der abzurufenden Dienste an. Platzhalter sind zulässig.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Exclude
Gibt als Zeichenfolgenarray einen Dienst oder dienste an, den dieses Cmdlet vom Vorgang ausschließt.
Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder ein Muster ein, z s*
. B. . Platzhalter sind zulässig.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Include
Gibt als Zeichenfolgenarray einen Dienst oder dienste an, den dieses Cmdlet in den Vorgang einschließt. Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder ein Muster ein, z s*
. B. . Platzhalter 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 einen Ausdruck ein, mit dem die Objekte abgerufen werden. 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. Platzhalter 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
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, verfügen Sie möglicherweise nicht über die Berechtigung, sie anzuzeigen.
Geben Sie den Get-Service
Namen des Diensts und den Anzeigenamen der einzelnen Dienste in Ihrem System ein. Die Dienstnamen werden in der Spalte "Name " angezeigt, und die Anzeigenamen werden in der Spalte "DisplayName " angezeigt.
Hinweis
Get-Service
Gibt in der Regel Informationen zu Diensten und nicht zu Treibern zurück. Wenn Sie jedoch den Namen eines Treibers angeben, Get-Service
werden Informationen zum Treiber zurückgegeben.
- Aufzählung enthält keine Gerätetreiberdienste
- Wenn ein Wildcard angegeben wird, gibt das Cmdlet nur Windows-Dienste zurück.
- Wenn Sie den Namen oder den DisplayName angeben, der genau mit einem Gerätedienstnamen übereinstimmt, wird die Geräteinstanz zurückgegeben.
Wenn Sie in aufsteigender Reihenfolge nach Statuswert sortieren, Stopped
werden 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 dem Namen. Running
wird bereits Stopped
angezeigt, weil Stopped
der Wert " 1
, und Running
der Wert " 4
. Weitere Informationen finden Sie unter ServiceControllerStatus.