Dienste unter Windows automatisiert neu starten

Dienste unter Windows neu starten

Häufig steht man als Administrator vor dem Problem das ein Windows-Dienst sich von Zeit zu Zeit aufhängt oder nicht mehr das tut was er soll. Es kann in solchen Fällen dann sinnvoll sein den Dienst in regelmäßigen Zeitabständen neu zu starten.

Am einfachsten geht das mit Hilfe eines Batchscripts und der Windows Aufgabenplanung. In meinem Beispiel möchte ich hier die Druckerwarteschlange automatisiert neu starten. Zunächst benötigen wir die genaue Bezeichnung bzw. den Namen des Dienstes. Dies kann relativ einfach mit Hilfe der Powershell herausgefunden werden:

Get-Service -DisplayName *Druck*

Der Befehl erzeugt folgende Ausgabe:
Windows Dienst Name für neu starten herausfinden

Wir wissen nun also das der Name des Dienstes Druckerwarteschlange „Spooler“ lautet.
Mit diesem Wissen erstellen wir nun eine Batchdatei (z.B unter C:\Scripts\neustarten.cmd) mit folgendem Inhalt:

net stop Spooler
timeout /T 60
net start Spooler

In meinem Beispiel habe ich noch eine Wartezeit von 60 Sekunden eingebaut, diese Zeile ist optional, kann aber je nach Dienst notwendig sein.

Mit Hilfe der Windows Aufgabenplanung kann dieses Script nun automatisiert ausgeführt werden, so ist es möglich gewisse Dienste zum Beispiel jede Nacht um 3 Uhr neu zu starten.

Wie man ein Script per Aufgabenplanung ausführt erfahrt ihr in einem weiteren Beitrag: Automatischen Task mit der Aufgabenplanung erstellen

Hoch