Der PowerShell Befehl „Get-Service“ ermöglicht die Abfrage und Steuerung der Windows Dienste über die Kommandozeile. Dieser Befehl ist eines der am häufigsten verwendeten Cmdlets in PowerShell, welches den Administratoren ermöglicht, Informationen über die auf einem Computer ausgeführten Dienste abzurufen. In dieser PowerShell Windows FAQ werden wir uns eingehend mit dem „Get-Service“-Cmdlet befassen und seine verschiedenen Parameter mit zahlreichen Beispielen erkunden.
Das Grundkonzept von Get-Service
Das Cmdlet „Get-Service“ wird verwendet, um eine Liste der auf einem Computer laufenden Dienste anzuzeigen. Diese Dienste können im Hintergrund verschiedene Funktionen ausführen, wie zum Beispiel Drucken, Netzwerkzugriff oder Zeitgeberdienste. Das Cmdlet ist sehr vielseitig und ermöglicht es uns, Dienste anhand verschiedener Kriterien zu filtern und detaillierte Informationen über jeden Dienst abzurufen.
Syntax des Get-Service-Cmdlets
Die grundlegende Syntax von „Get-Service“ lautet wie folgt:
Get-Service [-Name <String[]>] [-DisplayName <String[]>] [-Include <String[]>]
[-Exclude <String[]>] [-ComputerName <String[]>] [-DependentServices]
[-RequiredServices] [-RequiredServices] [-Status <ServiceControllerStatus[]>]
[-InputObject <ServiceController[]>] [-StartupType <ServiceStartMode[]>]
Erläuterung der Parameter:
Folgende PowerShell „Get-Service“ Parameter sind möglich.
Get-Service Parameter | Erklärung der Parameter |
---|---|
-Name | Mit diesem Parameter können Sie nach Diensten suchen, deren interner Name (Service Name) dem angegebenen Wert entspricht. Sie können auch Platzhalter wie ‚*‘ verwenden, um nach Teilübereinstimmungen zu suchen. |
-DisplayName | Dieser Parameter ermöglicht die Suche nach Diensten, die den angegebenen Anzeigenamen haben. |
-Include | Mit diesem Parameter können Sie eine Liste von Diensten angeben, die explizit in der Ausgabe enthalten sein sollen. Andere Dienste werden ignoriert. |
-Exclude | Hiermit können Sie eine Liste von Diensten angeben, die aus der Ausgabe ausgeschlossen werden sollen. |
-Computername | Mit diesem Parameter können Sie den Remote-Computer angeben, auf dem Sie nach Diensten suchen möchten. Standardmäßig wird der lokale Computer verwendet. |
-DependentServices | Zeigt nur die von anderen Diensten abhängigen Dienste an. |
-RequiredServices | Zeigt nur die Dienste an, von denen andere Dienste abhängig sind. |
-Status | Filtert die Dienste basierend auf ihrem Status. Sie können Werte wie „wird ausgeführt“, „beendet“, „pausiert“ usw. angeben. |
-InputObject | Hiermit können Sie ein oder mehrere ServiceController-Objekte direkt als Eingabe verwenden, anstatt sie aus der Liste der Dienste abzurufen. |
-StartupType | Ermöglicht die Filterung der Dienste basierend auf ihrem Starttyp, z. B. „Automatisch“, „Manuell“ oder „Deaktiviert“. |
Beispiele für die Verwendung von Get-Service
Hier nachfolgend einige Beispiele zum PowerShell Befehl.
Beispiel 1: Einfaches Abrufen aller Dienste auf dem lokalen Computer
Get-Service
Beispiel 2: Suchen nach einem bestimmten Dienst namens „Spooler“
Get-Service -Name "Spooler"
Beispiel 3: Abrufen aller gestarteten Dienste auf einem Remote-Computer
Get-Service -ComputerName "RemoteComputer" -Status "Running"
Beispiel 4: Abrufen aller automatisch gestarteten Dienste
Get-Service -StartupType "Automatic"
Beispiel 5: Suche nach Diensten, die „Print“ im Anzeigenamen enthalten
Get-Service -DisplayName "*Print*"
Beispiel 6: Dienste mit bestimmtem Starttyp anzeigen
Get-Service | Where-Object { $_.StartType -eq "Automatic" }
Erklärung:
In diesem Beispiel verwenden wir das Get-Service
-Cmdlet, um eine Liste aller Dienste auf dem lokalen Computer abzurufen. Dann verwenden wir das Where-Object
-Cmdlet, um nur die Dienste auszuwählen, bei denen der Starttyp „Automatic“ ist. Der Windows Dienste Starttyp „Automatic“ bedeutet, dass der Dienst automatisch gestartet wird, wenn der Computer hochgefahren wird.
Beispiel 7: Dienste auf einem Remote-Computer nach Status filtern
Get-Service -ComputerName "RemoteComputer" | Where-Object { $_.Status -eq "Running" }
Erklärung:
In diesem Beispiel verwenden wir das -ComputerName
-Parameter, um nach Diensten auf einem Remote-Computer mit dem Namen „RemoteComputer“ zu suchen. Dann verwenden wir das Where-Object
-Cmdlet, um nur die Dienste auszuwählen, die den Status „Running“ haben, also aktuell ausgeführt werden.
Beispiel 8: Dienste nach Anfangsbuchstaben filtern
Get-Service | Where-Object { $_.Name -like "A*" }
Hier nachfolgend die Ausgabeliste aller Windows Dienste, deren Dienstname mit einem „A“ beginnen.
Erklärung:
Hier verwenden wir das Get-Service
-Cmdlet, um alle Dienste auf dem lokalen Computer abzurufen, und das Where-Object
-Cmdlet, um nur die Dienste auszuwählen, deren Name mit dem Buchstaben „A“ beginnt. Der -like
-Operator ermöglicht es uns, nach Teilübereinstimmungen zu suchen, und der Platzhalter „*“ steht für beliebige Zeichen.
Beispiel 9: Dienste anhand mehrerer Namen oder Anzeigenamen auswählen
Get-Service | Where-Object { $_.Name -in @("Dhcp", "Spooler", "BITS") }
Erklärung:
Hier verwenden wir das Get-Service
-Cmdlet, um alle Dienste auf dem lokalen Computer abzurufen. Dann verwenden wir das Where-Object
-Cmdlet in Kombination mit dem -in
-Operator, um nur die Dienste auszuwählen, die entweder den internen Namen „Dhcp“, „Spooler“ oder „BITS“ haben.
Beispiel 10: Alle Dienste anzeigen, die von anderen Diensten abhängig sind
Get-Service | Where-Object { $_.DependentServices.Count -gt 0 }
Erklärung:
In diesem Beispiel verwenden wir das Get-Service
-Cmdlet, um alle Dienste auf dem lokalen Computer abzurufen. Dann verwenden wir das Where-Object
-Cmdlet, um nur die Dienste auszuwählen, die von anderen Diensten abhängig sind. Die DependentServices
-Eigenschaft gibt eine Liste der Dienste zurück, von denen der aktuelle Dienst abhängt. Wenn die Anzahl der abhängigen Dienste größer als 0 ist, bedeutet dies, dass der Dienst von anderen Diensten abhängt.
Fazit
Das „Get-Service“-Cmdlet in PowerShell bietet eine Vielzahl von Möglichkeiten, um Dienste auf Windows-Computern zu verwalten und zu überwachen. Durch die Kombination mit anderen Cmdlets wie Where-Object
und die Verwendung von verschiedenen Parametern können Administratoren Dienste effizient filtern, analysieren und verwalten. PowerShell ermöglicht es uns, komplexe Aufgaben in der Windows-Administration zu automatisieren und somit die Effizienz und Produktivität zu steigern. Mit den in diesem Blogbeitrag gezeigten Beispielen und Erklärungen sollten Sie in der Lage sein, „Get-Service“ effektiv in Ihren täglichen Aufgaben einzusetzen.
– Powershell-Befehl „foreach“
– Per PowerShell New-PSDrive Netzwerklaufwerke verbinden
– PowerShell Get-Process
– PowerShell New-Item
– PowerShell Get-Content
– PowerShell Set-ExecutionPolicy
– PowerShell Vergleichsoperatoren
– PowerShell Befehl Get-ChildItem
– PowerShell IF – ELSE – Anleitung
– Test-Connection – Ping in der PowerShell
– Welche PowerShell Version ist installiert?
– PowerShell Parameter: Ein umfassender Leitfaden
Neueste Kommentare