Anmelden

View Full Version : .bat datei auf WinServer von AS400 aufrufen



Seiten : [1] 2

co_steffl
19-05-11, 10:38
Hallo zusammen,

ich bin gezwungen von einer iSeries eine .bat Datei auf einem Win Server auszuführen. Dabei kommt die Meldung

qsh: 001-0018 Fehler gefunden beim Ausführen des Befehls /qntc/sap00nnn/d/ende.bat Berechtigung abgelehnt

Der User ist auf beiden Maschinen als Admin konfiguriert, wobei ich dazu sagen muß das ich aus der i-series Welt komme und mit Win Servern noch nicht viel zu tun hatte. Ich weiß auch nicht wo man etwas mehr Info über Qsh fehler findet.

Vielleicht hat ja jemand einen Tipp für mich.


co_steffl

Auszug cl Pgm


/* Verzeichnis anlegen */
MKDIR DIR('/qntc/sap00nnn')
MONMSG MSGID(CPFA0A0)

/* Batchdatei start_ases.bat aufrufen */
QSH CMD('/qntc/sap00nnn/d/end_nnnn_6.bat')

Fuerchau
19-05-11, 11:03
Du kannst keine .BAT per QSH aurufen.
Dafür benötigst du einen RUNRMTCMD.

co_steffl
19-05-11, 11:55
Danke für den tipp

geht das generell nicht? auch nicht .vbs + exe?


co_steffl

Fuerchau
19-05-11, 12:54
vbs ist ja VBScript und setzt die VBScript-Runtime voraus.
Diese gibt es nur für Windows.
exe sind Binärcode und ausführbare Programme für Windows und deren Prozessoren.
Zusätzlich werden eine Vielzahl von externen DLL's für Windwosfunktionen benötigt und aufgerufen.

Auf der AS/400 kannst du nur eingeschränkt Java-Klassen und Jar's ausführen.

Zur Ausführung von Befehlen auf einem Windows-System (kann auch Unix/Linux o.ä. sein) dient der Befehl

RUNRMTCMD CMD('c:/Pfad/datei.Bat')
RMTLOCNAME('192.168.1.5' *IP)
RMTUSER(USER)
RMTPWD(PASSWORD)

Dabei musst du den absoluten Pfad der ausführbaren Datei auf dem Zielserver kennen. Außerdem muss dort auch ein REXEC-Server gestartet sein.

Pikachu
19-05-11, 12:54
Die QSHELL (QSH) kann "nur" Programme auf IBM i for Business (und PASE) aufrufen und laufen lassen.

Probiers mal wie vorgeschlagen mit dem Befehl RUNRMTCMD.

Fuerchau
19-05-11, 12:58
PASE muss extra installiert und kann nur per CALL QP2TERM ausgeführt werden.

co_steffl
19-05-11, 14:00
Hallo zusammen

danke f.d. zahlreichen Tipp

werde schon einen Weg finden :)

co_steffl

holgerscherer
19-05-11, 21:40
werde schon einen Weg finden :)


Fragen wir mal wie üblich - was willst Du erreichen? Soll von der AS400 gesteuert aus auf dem PC-Server immer das gleiche Batch gestartet werden oder jeweils ein anderes?

im ersten Fall übers /QNTC eine Semaphoredatei erstellen, auf dem PC in einem Batch prüfen, ob die Semaphore da ist und dann etwas tun. Damit kann man die Berechtigungen etwas trennen

im zweiten Falle notfalls über das /QNTC eine Batchdatei erstellen, und auf dem PC diese dann aufrufen.

Bevor wir jetzt aber ins Detail gehen - bitte erste Frage ansehen :)

-h

AS400.lehrling
19-05-11, 23:03
Man könnte ja auch eine Warteschlange mit delay einrichten.

Die befehle zb via eM@il ans Office 400 schicken - mit zugelassenen Usrn abgleichen & die in der M@il enthaltenen Befehle in die Warteschlange schicken.

Die Warteschlange prüft zB alle 30sec ob Befehle vorliegen & führt diese aus.

Gruß AS400.lehrling

PS: Bitte nicht schlagen nur eine Idee

co_steffl
20-05-11, 06:42
Hallo zusammen

erst mal an holgerscherer.

Ja, von der iSeries soll immer die gleiche Datei gestartet werden. Die .bat Datei liegt auf dem Server. Nur die iSeries steuert die DS und nimmt den Servern die DB weg.

Jetz wirds lustig für mich.

Ich habe gerade etwas geGoogled kann aber mit Semaphoredatei (Semaphore-Datei oft auch als Dreiecks (http://newsolutions.de/wiki/Dreieck)- oder Rechtecksdatei (http://newsolutions.de/wiki/Rechteck) bezeichnet) nichts anfangen. :mad:

Eine Batch Datei über Qntc habe ich auch n.n gemacht. Lerne aber gern dazu.

Nun zum AS400.Lehrling

Da weiß ich leider auch nicht wie das funktionieren soll.

Ich hoffe ich nerve nicht zu viel.

Gruß
co_steffl