Skript um Dienst zu starten

Calimero74

Cadet 1st Year
Registriert
Okt. 2022
Beiträge
15
Hallo zusammen

Ich würde gerne auf einer Windows Server 2019 VM einen Dienst über den Task Scheduler starten können. Ich habe ein Skript erstellt, doch es funktioniert nicht.

Pfad:
pfad.JPG


Service Name
service name.JPG


Skript:
@Echo off

set "SERVICE_NAME=Blue Prism Server" :: Name des Dienstes
set "SERVICE_PATH=C:\Program Files\Blue Prism Limited\Blue Prism Automate\" :: Pfad zum Dienst

REM Überprüfen, ob der Dienst bereits läuft
sc query "%SERVICE_NAME%" | findstr /i "RUNNING"
if %ERRORLEVEL% == 0 (
echo Der Dienst %SERVICE_NAME% läuft bereits.
) else (
echo Starte den Dienst %SERVICE_NAME% ...
cd /d "%SERVICE_PATH%" :: In das Verzeichnis des Dienstes wechseln
net start "%SERVICE_NAME%" :: Hier den Befehl einfügen, um den Dienst zu starten (z.B. start-service.bat oder net start my-service)

REM Überprüfen, ob der Dienst erfolgreich gestartet wurde
sc query "%SERVICE_NAME%" | findstr /i "RUNNING"
if %ERRORLEVEL% == 0 (
echo Der Dienst %SERVICE_NAME% wurde erfolgreich gestartet.
) else (
echo Fehler beim Starten des Dienstes %SERVICE_NAME%.
)
)

Kann hier jemand helfen? Der Service will und will nicht über das BAT File starten.

Vielen Dank
 
set "SERVICE_NAME=Blue Prism Server" :: Name des Dienstes
set "SERVICE_PATH=C:\Program Files\Blue Prism Limited\Blue Prism Automate\" :: Pfad zum Dienst

ich glaube hier sind die Hochkommas schon direkt falsch gesetzt

set Variable="Pfad" --> set SERVICE_PATH="C:\Program Files\Blue Prism Limited\Blue Prism Automate\"
set SERVICE_NAME="BPServerService.exe" <--ka ob die Hochkommas nötig sind
 
Also du meinst so?

set SERVICE_NAME="Blue Prism Server" :: Name des Dienstes
set SERVICE_PATH="C:\Program Files\Blue Prism Limited\Blue Prism Automate\" :: Pfad zum Dienst

So geht es leider auch nicht
Ergänzung ()

DrHonkenstein schrieb:
Was wirft die Kommandozeile denn aus wenn du das laufen lässt?
Wenn ich das BAT File ins CMD ziehe und laufen lasse, erhalte ich folgendes:

D:\Task scheduler\BluePrism Service start.bat"
Starte den Dienst "Blue Prism Server" :: Name des Dienstes ...
The filename, directory name, or volume label syntax is incorrect.
The syntax of this command is:

NET START
[service]

Fehler beim Starten des Dienstes "Blue Prism Server" :: Name des Dienstes.
 
also du solltest das ganze erstmal direkt in der Konsole testen bevor du es per Aufgabenplaner anwirfst.
Startet das ganze denn überhaupt wenn du in der Konsole nach "C:\Program Files\Blue Prism Limited\Blue Prism Automate\ wechselst und das ganze per "net start BPServerService.exe" ausführst
 
  • Gefällt mir
Reaktionen: Brati23
Wenn ich das so ausführe dann krieg ich diese Meldung:

C:\Program Files\Blue Prism Limited\Blue Prism Automate>net start BPServerService.exe
The service name is invalid.

More help is available by typing NET HELPMSG 2185.

Wenn ich ein Doppelklick auf das exe mache, dann erscheint diese Meldung:
windows service FM.JPG


unter administrative tools kann ich aber den Service normal starten
 
"C:\Program Files\Blue Prism Limited\Blue Prism Automate\BPServerService.exe" -install

wäre ne Option aber ka ob das funktioniert
 
Kommt die selbe meldung, ich glaube genau deswegen muss es im Scheduler durchgeführt werden, weil es dort mit dem User der die Rechte hat ausgeführt wird
1686835371651.png
 
Calimero74 schrieb:
Ich würde gerne auf einer Windows Server 2019 VM einen Dienst über den Task Scheduler starten können.
Hmtja…
Das setzt doch wie ich hier lese voraus, dass dieser Dienst erst mal installiert sein muss?!

CN8
 
Mach die ":: befehlbeschreibung" weg. Doppelpunkte sind in einer batch keine Kommentare, wenn sie nicht am Zeilenanfang stehen.
Und. Dein Service Name ist nicht der Binary "*.exe" Name. Das sind verschiedene Dinge.

Edit: Dein Dienst kann "buxdehude 5000" heissen, der ruft aber eine Binary trolol.exe auf, die dann Dinge tut. Du kannst aber nicht mit net start die trolol.exe starten, sondern deinen Dienst "buxdehude 5000". Nur ums klarer zu machen ;)
 
Zuletzt bearbeitet:
Moment… Würde nicht diese Trolol.Exe den Dienst zumindest einrichten - oder muss ich einen Dienst definieren der zufällig diese Trolol.Exe aufruft? Da habe ich noch nie drüber nachgedacht.
Allerdings bleibe ich dabei, dass ich so wie geplant nur einen bereits existenten Dienst anfassen kann, und keinen einrichten.

CN8
 
Ist das Thema noch aktuell ?

sc queryex
-> zeigt an welche Dienste installiert sind und vor allem wie im intern im System heißen. Das ist ein Wort. Du hast den Anzeigename von "Blue Prism Server" angegeben, der funktioniert nicht. Ansonsten findest Du den korrekten Namen auch in unter der Dienste (app), Doppelklick auf den gewünschten Dienst -> Dienstname.

Mit
sc queryex >Services.txt
-> erhälst Du eine Textdatei Services.txt, die du besser nach dem "Service_Name" durchsuchen kannst.

sc start Dienstname
-> startet den Dienst mit dem Namen Dienstname
 
Zurück
Oben