Du willst einen Dienst über CMD starten, aber der Dienst startet nicht
Das liegt oft daran, dass der Dienst nicht als Windows-Dienst registriert ist
Ziel
Du möchtest eine .exe-Datei, die als Windows-Dienst programmiert ist, automatisch beim Systemstart ausführen lassen. In diesem Beispiel geht es um folgende Datei:
C:\00_AMSEPA\01_PROGRAMME\02_SCHREIBTISCH\SpreadDeskWorkerServiceExport.exe
Voraussetzungen
-
Die
.exemuss als echter Windows-Dienst programmiert sein (d. h. sie verwendet die Windows-Service-API). -
Du arbeitest mit Administratorrechten.
-
Das Zielsystem ist Windows Server (z. B. 2022, 2019 oder 2016).
Dienst erstellen
-
Öffne die Eingabeaufforderung als Administrator.
(Rechtsklick auf Start → „Eingabeaufforderung (Administrator)“ oder „Windows PowerShell (Administrator)“) -
Führe folgenden Befehl aus:
cmdsc create SpreadDeskWorkerServiceExport binPath= "C:\00_AMSEPA\01_PROGRAMME\02_SCHREIBTISCH\SpreadDeskWorkerServiceExport.exe" start= autoHinweise:
-
Achte auf ein Leerzeichen nach
binPath=undstart=. -
start= autosorgt dafür, dass der Dienst beim Systemstart automatisch gestartet wird.
-
-
Starte den Dienst manuell (optional, für den ersten Test):
cmdsc start SpreadDeskWorkerServiceExport
Dienst überprüfen
-
Starte
services.mscüber das Startmenü oder die Eingabeaufforderung. -
Suche in der Diensteliste nach „SpreadDeskWorkerServiceExport“.
-
Der Starttyp sollte auf „Automatisch“ stehen, und der Status sollte „Wird ausgeführt“ anzeigen, wenn der Dienst läuft.
Dienst entfernen (optional)
Falls du den Dienst wieder entfernen möchtest, führe folgende Befehle aus:
sc stop SpreadDeskWorkerServiceExport
sc delete SpreadDeskWorkerServiceExport
Hinweis
Falls der Dienst nach dem Start sofort beendet wird oder einen Fehler anzeigt, handelt es sich möglicherweise nicht um eine korrekt programmierte Dienst-Anwendung. In diesem Fall sollte stattdessen ein Dienst-Wrapper wie NSSM verwendet werden (siehe separate Anleitung).