Dienste unter Windows mit der PowerShell starten / Stoppen – Dienst soll verzögert gestartet werden

Mit der Windows PowerShell Dienste Starten, Stoppen, oder anderweitig konfigurieren

Ein Dienst im Windows Betriebssystem ist im Prinzip ein kleines Programm, welches im Hintergrund bestimmte Funktionalitäten zur Verfügung stellt, damit das System einwandfrei funktioniert. Dienste lassen sich sehr einfach über die grafische Oberfläche verwalten. Man tippt dazu im Suchfeld des Startmenüs einfach “services.msc” ein. Natürlich sollte man diese zum Bearbeiten mit administrativen Rechten öffnen.

Bereits im Artikel: Wenn mal was nicht geht! Dienste in Windows per Services, cmd oder PowerShell starten / stoppen!, bin ich näher auf die Verwaltung von den Diensten eingegangen. Verwendet wurde dazu aber in erster Linie die grafische Oberfläche. Wie sieht es jedoch aus, wenn diese nicht zur Verfügung steht. Sowie z.B. bei einem Windows Core Server oder beim booten von Windows 10 mit einer Windows PreExecution Environment (PE). Genau da hilft natürlich die Windows PowerShell.

Auch die PowerShell öffnet man am besten direkt mit administrativen Rechten und man verwendet die PowerShell ISE. Das grundlegenden Cmdlets beinhalten den Namen service. So kann man z.B. in der Windows PowerShell über das Befehls-Add-On, einfach für Module “Alle” wählen und als Namen “Service” eintippen. Schon erhält man eine Liste über sämtliche Befehle, welche den Diensten zuzuordnen sind. Klar ginge das auch direkt über das Terminal Fenster.

Get-Command -Name *service

Als Erstes ist es vermutlich von Interesse, welche Dienste alle auf dem System laufen bzw. welche Dienste aktiv sind. Dazu wird die Pipe sowie eine kleine Schleife verwendet. Im Anschluss erhält man eine Liste aller aktiven Dienste. Schöner dargestellt würde die Ausgabe anschließend noch dadurch, dass man das Cmdlet Out-GridView verwendet.

Get-Service | Where-Object {$_.Status -eq "Running"}
Get-Service | Where-Object {$_.Status -eq "Running"} | Out-GridView

Die wohl wichtigsten Optionen sind das Starten und Stoppen von Diensten. Gerade, wenn mal etwas nicht funktioniert. Als kleines Beispiele wurde hier der DHCP Dienst verwendet. Mit dem ersten Befehl gibt man die Details zu diesem Dienst aus. Mit dem zweite startet man den Dienst und mit dem dritten Befehl stoppt man den Service.

Get-Service -Name Dhcp
Restart-Service -Name Dhcp
Stop-Service -Name Dhcp

Eine Variante ist noch interessant. Es kann durchaus sein, dass man einen Dienst noch für einen bestimmten Starttyp festlegen muss. So zum Beispiel, dass der Dienst beim Booten des PCs startet oder manchmal ist es auch sinnvoll den Starttyp auf verzögert zu stellen. Dazu verwendet man das Cmdlet Set-Service. Als Parameter wir neben dem Namen noch der StartupType benötigt.

Set-Service -Name Dhcp -StartupType Boot
Mit der Windows PowerShell Dienste starten, stoppen und verzögern
Mit der Windows PowerShell Dienste starten, stoppen und verzögern