Seite 1 von 2

ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Di Mär 05, 2019 2:54 pm
von Ralf90
Hallo ACMP-Support,

wir verwenden das Shell execute command, um eine .cmd-Datei auf einem Server aufzurufen.
Zuvor wird das Netzlaufwerk Z: mit einem entsprechenden UNC-Pfad verbunden.

Das Shell execute command sowie das Verbinden des Netzlaufwerkes werden im selben Kontext mit dem selben User ausgeführt.
Der User, welcher auf den Server zugreifen muss, hat volle Zugriffsrechte auf das Verzeichnis sowie auf die entsprechende .cmd.

Der Pfad zur .cmd ist korrekt und wurde mehrfach geprüft.

Im Anhang findet ihr das Consolen-Log, der User unter dem das Netzlaufwerk verbunden und das Shell Execute Command ausgeführt wird, sowie den Pfad und die Zugriffsrechte zur tem.cmd

Was machen wir falsch?

Besten Dank im Voraus!

Gruß
Ralf

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Mi Mär 06, 2019 9:25 am
von Dennis Koch
Hallo Ralf,

spontan sieht das gut aus. Existiert das Verzeichnis C:\temp ?
Wenn ich per cmd in einen Ordner die Ausführung ausgeben möchte welcher nicht existiert, erhalte ich den Fehler "Das System kann den angegebenen Pfad nicht finden."
Ggf. liegt es ja daran?

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Mi Mär 06, 2019 12:59 pm
von Ralf90
Hallo Dennis,

das Verzeichnis C:\temp existiert.
Haben den Arbeitsordner C:\temp zum Erstellen der logs im Shell execute command angegeben.
Leider erhalten wir weiterhin die gleiche Fehlermeldung.

Wenn wir lokal am PC eine Eingabeaufforderung aufrufen und die .cmd manuell über den gleichen Pfad mit den gleichen Parametern ausführen funktioniert es ohne Probleme.

Wir sind etwas ratlos.. :(

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Mi Mär 06, 2019 2:23 pm
von Dennis Koch
Funktioniert es wenn man beim Shell Execute unter "Ausführen als" die Checkbox "Erhöhte Rechte anfordern" deaktiviert. Normalerweise ändert sich mit der Checkbox der Kontext auf den lokalen Administrator.

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Fr Mär 08, 2019 1:59 pm
von Ralf90
Haben nun überall die Checkbox "Erhöhte Rechte anfordern" deaktiviert.
Leider wird der angegebene Systempfad noch immer nicht gefunden...

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Fr Mär 08, 2019 3:39 pm
von Dennis Koch
Wie sieht denn der Aufruf vom Shell Execute aus? Davon hätte ich gerne mal einen Screenshot. Funktioniert der Aufruf wenn man die Ausgabe weglässt? Also nur den Aufruf der cmd-Datei in der Zeile Dateiname hat?

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Fr Mär 08, 2019 5:11 pm
von ngottschalk
Wird das Netzlaufwerk denn für den Kontext des Benutzers, der im Shell Execute command angegeben ist, eingebunden oder im Systemkontext? Die Angabe aus dem Screenshot bezieht sich nur darauf, welche Anmeldedaten zum Einhängen genutzt werden (wenn ich es richtig im Hinterkopf habe), also würde das dann heißen, dass im Kontext des System-Accounts mit den Anmeldedaten "WISI\Infodba"ein Netzlaufwerk gemappt wird. Wenn nun Anschließend der User Infodba zur Ausführung genutzt wird, kennt dieser das Laufwerk nicht.

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Mo Mär 11, 2019 6:36 pm
von Ralf90
@ngottschalk: Danke, genau das war unser Problem!
Das wiederum heißt, es ist nicht möglich ein Shell Execute Command mit einem Netzlaufwerk auszuführen, welches im Kontext eines anderen Benutzers ausgeführt werden soll. (Hoffe das war verständlich)

Beispiel: Das Netzlaufwerk "Z:" wird mit den Anmeldeinformationen von WISI\Infodba erstellt. Darauffolgend führen wir ein Shell Execute Command mit den Anmeldeinformationen des gleichen Users WISI\Infodba aus. In dem Shell Execute Command ist nun der Laufwerksbuchstabe "Z:" angegeben, welcher unter der Anmeldung WISI\Infodba nicht gefunden werden kann.

Wie können wir das Shell Execute Command als WISI\Infodba User ausführen? Das funktioniert dann wohl nur mit Variablen und UNC-Pfaden?

Danke und Gruß
Ralf

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Mo Mär 11, 2019 6:48 pm
von ngottschalk
Hallo Ralf,

das Problem ist, dass das Netzlaufwerk für einen bestimmten Account (der, unter dem das Shell Execute Command ausgeführt wird) nicht zur Verfügung steht. In diesem Fall würde ich persönlich das "Map network drive" (das nur im Kontext des Systems oder des angemeldeten Users ausgeführt werden kann und nicht für einen spezifischen, angegebenen Account) durch ein Shell Execute command ersetzen; In diesem dann "net use <Buchstabe>: \\<server>\<share> <passwort> /User:<user>@<domain>" ausführen lassen und im "Ausführen als" den Account angeben, für den es später verfügbar sein soll.

EDIT:
Das wiederum heißt, es ist nicht möglich ein Shell Execute Command mit einem Netzlaufwerk auszuführen, welches im Kontext eines anderen Benutzers ausgeführt werden soll. (Hoffe das war verständlich)
Ganz genau, da bei Windows die Laufwerke immer pro Benutzer (und nicht systemweit) eingebunden werden.

Re: ClientCommand - Shell execute command - An error occured: Das System kann den angegebenen Pfad nicht finden

Verfasst: Di Mär 12, 2019 9:47 am
von Ralf90
Guten Morgen Niklas,
guten Morgen Dennis,

vielen Dank für eure hervorragende Unterstützung und Bemühungen!

Jetzt stehen wir noch vor einem großen Rätsel...
Ein weiteres Shell execute command ruft eine tem.cmd auf, welche wiederum folgenden Befehl ausführt:

Z:\tem.bat -s Z:\tem.xml

Leider wird nur die tem.cmd ausgeführt und der eigentliche Installationsaufruf der tem.bat findet nicht statt bzw. wird nicht ordnungsgemäß ausgeführt.

Wenn wir die tem.cmd über eine Eingabeaufforderung loakal an einem PC (ohne ACMP) ausführen funktioniert der Installationsaufruf mit den entsprechenden Parametern.

Das gleiche Ergebnis erhalten wir, wenn wir über das Shell execute command die tem.bat mit dem Parameter -s und der Antwortdatei tem.xml direkt ausführen.

Gibt es eine Möglichkeit zu sehen, ob die tem.bat korrekt aufgerufen wird?
Und habt ihr zufällig eine Idee, weshalb die tem.bat eventuell nicht richtig ausgeführt wird über das Shell execute command?

Danke nochmals im Voraus!

Gruß
Ralf