deryeti
Goto Top

Navision Dienst per Bach beenden, Neustart mit Adminrechten

Hallo,

Aufgrund von diversen Abstürzen externer Auslesegeräte, die von einen Applicationserver abhängen, möchte ich gerne per batch auf dem Server den dazugehörigen Dienst beenden und dann neustarten. Der Dienst benötigt Adminrechte und muss vorher über den Prozess gekillt werden.

Eine vom Support vorgeschlagene Remoteanmeldung eines Users mit Adminrechten, der im Taskmanager den Prozess beendet und dann in den Diensten rumfuhrwerkt erscheint mir zu "mutig".
Daher der Aufruf einer Batch, die dies automatisch erledigt, ohne das der User ein Passwort eingeben muß.

Meine erste Idee mit dieser Batch

taskkill PID /u domäne/admin /p pw /f

netstop Pfad zum Programm
netstart Pfad zum Programm

brachte nicht den Erfolg.

mfg

Content-Key: 120093

Url: https://administrator.de/contentid/120093

Printed on: April 24, 2024 at 20:04 o'clock

Member: mexx
mexx Jul 09, 2009 at 09:29:40 (UTC)
Goto Top
Ich hab das Problem noch nicht ganz verstanden. Auf was für ein Server läuft der Dienst und wo läuft das Navision? Unabhängig von der Konztellation rate ich Dir zur WMI-Steuerung. Wenn die auf den Server aktiviert wurde, kannst Du mit einen kleinen Powershellscript oder VB-Script den Dienst des Servers beenden. Prozesse beenden sollte glaube auch gehen. Hab es noch nicht ausprobiert.
Member: deryeti
deryeti Jul 09, 2009 at 10:14:05 (UTC)
Goto Top
Auf einem win server 2003 läuft als Dienst der Application Server, welcher die Auslesegeräte bedient.
Nun kommt es vor das besagte Geräte abstürzen, bzw sich aufhängen.
Dann hilft der Neustart des o.g. Dienstes auf dem Server.
Der Dienst läßt sich aber nicht einfach so beenden, sondern es muß der Prozess gekillt werden und dann der Dienst neugestartet werden. Dies widerum muß mit Adminrechten geschehen.
Da ich ungern den entsprechenden User, sollte ich mal nicht da sein, die Remoteverbindung als Admin überlassen, damit er das "per Hand" erledigt, wäre ein automatisches killen, dienst neustarten per batch o. Ä. eine annehmbare Lösung, bis das eigentliche Problem der Abstürze erledigt ist.
Per Hand als Admin via remote in der shell klappt das Prozess beenden und Dienst neustarten, nur in der batch halt nicht.
Mitglied: 80220
80220 Jul 09, 2009 at 10:29:45 (UTC)
Goto Top
Du könntest das aber mit einer angelegten Verknüpfung auf den entsprechenden Batch den Usern ermöglichen.
Die Verknüpfung kannst du mit pcwRunAs anlegen.
Member: mexx
mexx Jul 09, 2009 at 11:18:47 (UTC)
Goto Top
Oder läßt ein Script auf der Console laufen, welches den Status des Dienstes abfragt und wenn der nicht okay ist, neustart.
Mitglied: 80220
80220 Jul 09, 2009 at 11:47:02 (UTC)
Goto Top
Zitat von @deryeti:

netstop Pfad zum Programm
netstart Pfad zum Programm

brachte nicht den Erfolg

Kann auch nicht funktionieren, gerade eben erst genau gelesen.

Der richtige Befehl lautet
net stop "Dienstname"
net start "Dienstname"

Und wenn du das richtig machen willst, erledigst du wenigstens die erste Zeile über start :
Start "" /WAIT net stop "Dienstname"
Member: deryeti
deryeti Jul 09, 2009 at 13:25:01 (UTC)
Goto Top
das fehlende freizeichen war ein tippfehler. sry. natürlich heißt es net stop.

ok, gute idee.

So, die batch funktioniert nun lokal.

taskkill /s navision /u xxxxx\administrator /p xxxxxxxx /pid 3184 /f
Start "" /WAIT net stop "PICCOLINK"
Start "" /WAIT net start "PICCOLINK"

das ganze noch, ohne remote auf die maschine zu müssen.....das wäre was.
Mit Boardmitteln.

ideen ?
Mitglied: 80220
80220 Jul 09, 2009 at 13:44:00 (UTC)
Goto Top
Mit Boardmitteln

Wüsste ich nicht so aus dem Hut.
Aber mit psexec dürfte das gehen.


SC.EXE ist da flexibel, bei XP gehört es zum OS.
Member: deryeti
deryeti Jul 10, 2009 at 05:42:40 (UTC)
Goto Top
Moin,

ohne remotezugriff funkt es so:

start "Navision Application Server stoppen" /WAIT sc \\navision STOP PICCOLINK
start "Navision Application Server starten" /WAIT sc \\navision START PICCOLINK

face-smile

Jetzt habe ich noch das Prob, das der Dienst via admin gestartet werden soll. Aber das versuche ich über runas gestartet in der batch.
Mitglied: 80220
80220 Jul 10, 2009 at 06:53:43 (UTC)
Goto Top
Du musst diese Batch per runas starten und nicht runas in der Batch. face-big-smile
Oder versuche es mit psexec, da kannst du Usernamen und Passwort angeben.