View Full Version : .bat datei auf WinServer von AS400 aufrufen
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')
Du kannst keine .BAT per QSH aurufen.
Dafür benötigst du einen RUNRMTCMD.
Danke für den tipp
geht das generell nicht? auch nicht .vbs + exe?
co_steffl
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.
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.
PASE muss extra installiert und kann nur per CALL QP2TERM ausgeführt werden.
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
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