beidermachtvongreyscull

Dienste per Script starten?! Kann doch nicht wahr sein

Hallo Kollegen,

der Hersteller einer Programmsuite, die auf Backenddiensten, SQL-Server und Clients basiert, liefert seinen Kunden eine Batchdatei aus, um seine Applikationsdienste sicher, in der richtigen Reihenfolge und in der richtigen Zeit zu starten.

Seine Installationen verdrehen die Einstellungen der Dienste übrigens immer auf "Automatisch", was einem script-kontrollierten Start zuwider läuft.

Warum der Hersteller die Dienste nicht in eine bestimmte Abhängigkeit setzt (Dazu gibt es Funktion im Windows Services Manager) verstehe ich nicht. Man sagte mir, es ginge nicht.

Diese Dienste müssten der Reihe nach starten:

RabbitMQ
STP Usermanagement
LEXolution.DMS
STP Server 8005
STP QMDocConnector
STP GIS Service
STP beA Messageserver
STPP InsoPortal Connector

Wenn ich jetzt alle diese Dienste auf "Automatisch (Verzögert) setze und trage die Abhängigkeiten entsprechend ein vom ersten Dienst, der keine hat, bis zum letzten, der alle vorangehenden drin hat, dann müsste diese Kaskade doch auch entsprechend starten mit ausreichend Pausen zwischen den Dienstinstanzen, da jeder auf "Automatisch (Verzögert) steht und aufgrund der Abhängkeitsabfolge nur einer nach dem anderen starten kann.

Oder setzt man besser alle vorangehenden auf manuell und nur den letzten auf Automatik?

Sehe ich das richtig?

Danke für jeden konstruktiven Augenöffner.

Freundliche Grüße
Andreas
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 672738

Url: https://administrator.de/forum/dienste-per-script-starten-kann-doch-nicht-wahr-sein-672738.html

Ausgedruckt am: 05.05.2025 um 15:05 Uhr

ThePinky777
ThePinky777 05.05.2025 um 14:31:17 Uhr
Goto Top
Programmieren können oder nicht, das ist hier die Frage face-smile

Der HErsteller könnte auch coden wenn Dienst A startet und dann B das B checkt ob A läuft und dann erst führt sich der Programmteil richtig aus.... gleiches gilt für Dienst C usw...
Oder eine Kommunikationseben zwischen den Diensten.

Aber ist heute zuviel verlangt... KI coding gibt das einfach nicht her face-smile
beidermachtvongreyscull
beidermachtvongreyscull 05.05.2025 um 14:41:44 Uhr
Goto Top
Eigentlich sind das alles Applikationen.
Die können als Dienst angesprochen werden, haben aber nicht das stringente Verhalten.

Wenn ich die EXE-Datei eines Dienstes von denen in der Commandline ausführe, schmeißt der seinen stdout dort raus und läuft genauso lange, wie ich die Commandline offen lasse.

face-sad
Crusher79
Crusher79 05.05.2025 aktualisiert um 17:04:03 Uhr
Goto Top
Zitat von @beidermachtvongreyscull:

Wenn ich die EXE-Datei eines Dienstes von denen in der Commandline ausführe, schmeißt der seinen stdout dort raus und läuft genauso lange, wie ich die Commandline offen lasse.

Doch auch gut so...

Was erwartest du sonst? Wie ist denn nun die Frage? Mit Abhängigkeiten was erzwingen oder mit PowerShell Dienste prüfen und starten? Mit Loop auch dann so lange warten, bis der Dienst Status Running hat.

net start oder auch sc start warten doch aber eig. bis Dienst da ist.

Wieso willst du die EXE aufrufen?

sc start RabbitMQ
sc start STP Usermanagement
sc start LEXolution.DMS
sc start STP Server 8005
sc start STP QMDocConnector
sc start STP GIS Service
sc start STP beA Messageserver
sc start STPP InsoPortal Connector

Anm: Ist eh aber mit Leerzeichen nun Unsinn.

Hast du uns die Displaynames geposted? Jeder Dienst Hat Namen und Displaynamen ... Versuch mal den Namen....
em-pie
em-pie 05.05.2025 um 17:07:16 Uhr
Goto Top
Moin,

Zitat von @Crusher79:
net start oder auch sc start warten doch aber eig. bis Dienst da ist.
sc start RabbitMQ
sc start STP Usermanagement
sc start LEXolution.DMS
sc start STP Server 8005
sc start STP QMDocConnector
sc start STP GIS Service
sc start STP beA Messageserver
sc start STPP InsoPortal Connector

So würde ich es auch machen, oder aber per Powershell und Start-Service
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell ...

und bevor der nächste Dienst gestartet wird, prüfen, oder der aktuelle Dienst erfolgreich gestartet werden konnte...
Crusher79
Crusher79 05.05.2025 um 17:09:30 Uhr
Goto Top
Zitat von @em-pie:

So würde ich es auch machen, oder aber per Powershell und Start-Service
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell ...

Naja Praxis in die Gegenrichtung war ja immer Exchange 2010 Shutdown Script. Die berühmten 15 min. warten. Da wird Exchange auch der Reihe nach abgeschaltet.

Geht auch in die Gegenrichtung. Man könnte mit Loops und Prüfungen noch arbeiten. Wenn der Dienst Pending ist killen etc, etc.

Wenn wir unterstellen dass die so sauber hoch kommen würde so ein 3-Zeiler reichen.
Penny.Cilin
Penny.Cilin 05.05.2025 um 17:33:17 Uhr
Goto Top
@Crusher79
Anm: Ist eh aber mit Leerzeichen nun Unsinn.
Sehe ich nicht so. Denn man kann es auch so machen:
sc start RabbitMQ
sc start "STP Usermanagement"  
sc start "LEXolution.DMS"  
sc start "STP Server 8005"  
sc start "STP QMDocConnector"  
sc start "STP GIS Service"  
sc start "STP beA Messageserver"  
sc start "STPP InsoPortal Connector"  
Sprich bei Leerzeichen in Hochkommata setzen.

Gruss Penny.
Crusher79
Crusher79 05.05.2025 um 17:50:33 Uhr
Goto Top
Zitat von @Penny.Cilin:

@Crusher79
Anm: Ist eh aber mit Leerzeichen nun Unsinn.
Sehe ich nicht so. Denn man kann es auch so machen:

Jup, stimmt. War nicht ganz da. Ohne benannten Parameter kann man es mitunter nicht auseinanderhalten face-big-smile

@beidermachtvongreyscull
Es gibt mehrere Methoden. Man kann Dienst auch im Fehlerfall neu starten lassen - Wiederherstellung.

Nur dann ist die Reihenfolge wieder Grütze. Batch Datei .bat oder .cmd geht auch ohne PowerShell. Ferner kannst du es auch umdrehen und für ein Beenden-Script verwenden. Falls man mal nur die Dienste ohne Server neu starten will.

Du kannst es einfach im Task-Schedule anlegen und nach jedem Neustart werden die Dienste gestartet.

Einen einmal angelegten aktiven Task kann man auch jederzeit manuell starten:

https://learn.microsoft.com/en-us/windows-server/administration/windows- ...

schtasks /run


Kommt es überhaupt zu Problemen, wenn alles auf "automatisch" steht? Die Reihenfolge ist teils sehr wichtig. Wir kennen aber bei z.B. Docker sowas wie Housekeeping. Mag sein dass die Dienste intern auf sich warten.

Läuft denn ohne die korrekte Startreihenfolge gar nix oder pendelt es sich nach einiger Zeit ein?

Habt ihr Geld dafür bezahlt? Normal müsste doch der Hersteller Auskunft geben können. Nicht ohne Grund wird er ja die Dienste auf "Automatisch" wieder setzen, wenn ihm die Abfolge und internas bekannt sind.

Ich verstehe was du meinst. Nur gibt es aktuell überhaupt sonst ein Problem?

Ist die Batch vom Hersteller produktiv oder als Troubleshoot zu sehen, wenn es zu Problemen kommen sollte?

Was bauen ist einfach. Nur würd ich mal hinterfragen wollen, was genau der Hersteller damit bezwecken will.