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 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 leiten, 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
Dieser Befehl ruft alle Dienste auf dem Computer ab.
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.
Beispiel 2: Abrufen von Diensten, die mit einer Suchzeichenfolge beginnen
Get-Service "wmi*"
Dieser Befehl ruft Dienste mit Dienstnamen ab, die mit WMI (dem Akronym für Die Windows-Verwaltungsinstrumentation) beginnen.
Beispiel 3: Anzeigen von Diensten, die eine Suchzeichenfolge enthalten
Get-Service -Displayname "*network*"
Dieser Befehl zeigt Dienste mit einem Anzeigenamen an, der das Wortnetzwerk enthält. Durch das Suchen des Anzeigenamens können Sie Netzwerkdienste suchen, selbst wenn der Dienstname nicht das Wort %%amp;quot;Net%%amp;quot; enthält, beispielsweise %%amp;quot;xmlprov%%amp;quot; (der Netzwerkbereitstellungsdienst).
Beispiel 4: Abrufen von Diensten, die mit einer Suchzeichenfolge und einem Ausschluss beginnen
Get-Service -Name "win*" -Exclude "WinRM"
Diese Befehle erhalten nur die Dienste mit Dienstnamen, die mit dem WinRM-Dienst beginnen.
Beispiel 5: Anzeigen von Diensten, die derzeit aktiv sind
Get-Service | Where-Object {$_.Status -eq "Running"}
Dieser Befehl zeigt nur die Derzeit aktiven Dienste an. Es verwendet das Get-Service-Cmdlet , um alle Dienste auf dem Computer abzurufen. Der Pipelineoperator (|) übergibt die Ergebnisse an das Cmdlet Where-Object, das nur die Dienste mit einer Statuseigenschaft auswählt, die ausgeführt wird.
%%amp;quot;Status%%amp;quot; ist nur eine der Eigenschaften von Dienstobjekten.
Um alle Eigenschaften anzuzeigen, geben Sie den Typ Get-Service | Get-Member
.
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 ComputerName-Parameter von Get-Service nicht 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
...
Der erste Befehl verwendet das Cmdlet Get-Service , um die Dienste auf dem Computer abzurufen. Ein Pipelineoperator (|) sendet die Dienste an das Where-Object-Cmdlet , das die Dienste auswählt, deren DependentServices-Eigenschaft nicht null ist.
Die Ergebnisse werden mit einem anderen Pipelineoperator an das Cmdlet %%amp;quot;Format-List%%amp;quot; gesendet. 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 beim Sortieren von Diensten in aufsteigender Reihenfolge durch den Wert ihrer Statuseigenschaft beendete Dienste angezeigt werden, bevor Dienste ausgeführt werden. Dies geschieht, da der Wert von Status eine Aufzählung ist, in der "Stopp" einen Wert von 1 aufweist und "Running" einen Wert von 4 aufweist.
Verwenden Sie zum ersten Auflisten der Ausgeführten Dienste den Absteigenden Parameter 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)
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-Tabelle " 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 für den WinRM-Dienst erforderlichen Dienste abgerufen.
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 Dienstnamenzeichenfolge (in Anführungszeichen eingeschlossen) an Get-Service übergeben können.
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 ein.
Dieser Parameter beruht nicht auf Windows PowerShell-Remoting. Sie können den ComputerName-Parameter von Get-Service verwenden, auch wenn Ihr Computer nicht so konfiguriert ist, dass Remotebefehle ausgeführt werden.
Type: | String[] |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Aliases: | DS |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
Gibt als Zeichenfolgenarray die Anzeigenamen von Diensten an, die abgerufen werden sollen. Platzhalter sind zulässig. Standardmäßig ruft dieses Cmdlet alle Dienste auf dem Computer ab.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Exclude
Gibt als Zeichenfolgenarray einen Dienst oder einen Dienst an, den dieses Cmdlet aus dem Vorgang ausschließt. Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder -muster wie %%amp;quot;s*%%amp;quot; ein. 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, den dieses Cmdlet in den Vorgang einschließt. Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder -muster wie %%amp;quot;s*%%amp;quot; ein. 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 auch 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. Standardmäßig ruft dieses Cmdlet alle Dienste auf dem Computer ab.
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 dieser Dienst benötigt.
Dieser Parameter ruft den Wert der ServicesDependedOn-Eigenschaft des Diensts ab. Standardmäßig ruft dieses Cmdlet alle Dienste ab.
Type: | SwitchParameter |
Aliases: | SDO, ServicesDependedOn |
Position: | Named |
Default value: | None |
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
Dieses Cmdlet gibt Objekte zurück, die die Dienste auf dem Computer darstellen.
Hinweise
Sie können auch auf Get-Service verweisen, indem Sie den integrierten Alias "gsv" verwenden. Weitere Informationen finden Sie unter %%amp;quot;about_Aliases%%amp;quot;.
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, diese anzuzeigen.
Geben Sie den Get-Service
Namen des Diensts und den Anzeigenamen jedes Diensts in Ihrem System ein.
Die Dienstnamen werden in der Spalte %%amp;quot;Name%%amp;quot; und die Anzeigenamen in der Spalte %%amp;quot;DisplayName%%amp;quot; aufgeführt.
Wenn Sie aufsteigend nach Statuswert sortieren, werden Dienste mit dem Status %%amp;quot;Stopped%%amp;quot; vor Diensten mit dem Status %%amp;quot;Running%%amp;quot; angezeigt. Die Status-Eigenschaft eines Diensts ist ein Enumerationswert, in dem die Namen der Status ganzzahlige Werte darstellen. Die Sortierung basiert auf dem ganzzahligen Wert, nicht dem Namen. %%amp;quot;Running%%amp;quot; wird vor %%amp;quot;Stopped%%amp;quot; angezeigt, da %%amp;quot;Stopped%%amp;quot; über den Wert %%amp;quot;1%%amp;quot; verfügt. %%amp;quot;Running%%amp;quot; verfügt über den Wert %%amp;quot;4%%amp;quot;.