Anmelden

View Full Version : strpco --> .Bat --> powershell



Seiten : [1] 2

Robi
18-01-16, 14:48
Hallo zusammen,

ich müßte, via strpco eine .bat datei aufrufen.
Diese macht dann was und ruft Ihrerseits ein powershell pgm (.ps1)
danach macht die .bat nochmal was.

Auf dem Server aufgerufen, funktioniert die .bat

im clle mach ich


CHGVAR VAR(&WAS) VALUE('CMD /C "START /QNTC/vmfilexxx/iyyyzz/' *TCAT +
'EDV/W2PDF/WORD2PDF.BAT"')
STRPCCMD PCCMD(&WAS) PAUSE(*NO)


das /QNTC/vmfilexxx/iyyyzz/EDV/w2PDF/ ist der Pfad zum .bat aus Sicht des lokalen Pcs, auf dem CA läuft.
Ich bekomme keinen Spool, keinen Joblog Eintrag, keine f-Message.
Die .bat wird anscheinend NICHT aufgerufen

jetzt brauch ich ne Idee ob/wie ich das protokollieren kann, warum sich da nix tut

Robi

Fuerchau
18-01-16, 15:21
Also da läuft ja was schief.
Mittels /QNTC greifst du normalerweise von der AS/400 aus auf einen NT-Server (Windows200ff) zu.
Hierbei meldet sich die AS/400 mit dem aktuellen User beim Server an.
Ich denke nicht, dass du eine Freigabe mit "QNTC" erstellt hast damit ein Client-PC sich durch die AS/400 hindurch wieder am Windows-Server anmeldet um dort zuzugreifen.
Dies kann nur funktionieren, wenn der Client-User nun mit AS/400-User und Kennwort auf dem Server registriert ist.
Das macht aber überhaupt keinen Sinn!

Dein Server "vmfilexxx" erteilt eine Freigabe "iyyyzz".
Somit lautet der Zugriff vom PC-Client "\\vmfilexxx\iyyyzz\EDV\W2PDF\WORD2PDF.BAT".
Der PC-User sollte automatisch mit dem vmfilexxx-Server verbunden werden.

Robi
19-02-16, 13:43
Ok, danke,
das hat mittlerweile geklappt.

ich habe nun eine .bat die ein .ps1 aufruft

Rufe ich die .bat auf dem Windows System auf macht sie was sie soll
Rufe ich die .bat über strpco und
STRPCCMD PCCMD('CMD /C START P:\EDV\PFAD\meine.bat') PAUSE(*NO)
läuft die .bat an, ruft die .ps1 kommt dort auf einen Berechtigungsfehler, und macht mit den restlichen .bat Befehlen weiter

also
Gleiche User, gleiche Kennwort, gleiche .bat, gleiche .ps1
vom Windows geht alles, von der iSeries geht nur ein Teil der andere bricht wegen Berechtigung ab

Irgend eine Idee?
Danke
Robi

Fuerchau
19-02-16, 14:28
Dann wäre wohl der Berechtigungsfehler zu beheben.
Da Powershell auf dem PC ausgeführt hat, hat die AS/400 darin keine Aktien.

Ggf. ist der Pfad aus Laufwerk P als "vertrauenswürdig" einzustufen. Windows hat do so seine Sicherhheitseinschränkungen.
Die Einstellung gibt es irgendwo in den Internet-Eigenschaften.

Robi
19-02-16, 15:12
nun der PC Admin sagt:
wenn du die .bat im Windows aufrufst geht es doch.
Mach den Aufruf von der iSeries 'richtig' dann geht es auch.

Der einzige Unterschied ist die 'startende Quelle'

Wie kann da die Berechtigung unterschiedlich sein?

Fuerchau
19-02-16, 15:47
Das ist ja genau das Problem.
Die Quelle kommt von extern und das muss Windows erlauben (UAC).
Dabei ist hier die Powershell das Problem da die BAT ja losrennt.
Was ist denn die genaue Fehlermeldung?

Fuerchau
19-02-16, 15:51
Nachtrag:
Startest du die BAT auf dem PC als Admin?
Das geht per STRPCCMD nicht wenn nicht auch die 5250 unter Admin läuft oder die .BAT über ihre Eigenschaften "als Admin ausführen" markiert ist.

Robi
19-02-16, 16:52
Danke

info Montag

schöner WE
Robi

Robi
22-02-16, 10:01
Hier die Fehlermeldung:

Die Datei "X:\Pfad\convert.ps1" kann nicht geladen werden, da die Ausführung von Scripts auf diesem System deaktiviert ist.

Was ja definitiv nicht 100% stimmt den der selbe Anwender kann die .BAT aufrufen und die .PS1 wird durchgeführt!

"Als Administrator ausführen", in den Eigenschaften, kann ich nicht Setzen, habe aber den PC-Admin gebeten das zu machen.

Robi

Fuerchau
22-02-16, 10:26
Ich denke das wird hier nicht reichen.
Schau mal hier:
https://www.windowspro.de/andreas-kroschel/powershell-scripts-ausfuehren
Besonders ab "PowerShell-Scripts zulassen".
Entweder unrestricted oder die Scripte signieren.

Leider ist das für jeden PC dann erforderlich.