Call befehl als Admin!
Hallo liebes Forum!
Ich rufe in meinem Batchprogramm ein anderes Batchprogramm mit dem befehl "call" auf.
Das Programm das ich aufrufe muss aber als Administrator ausgeführt werden.
wie kann ich das jetzt als Admin aufrufen?
GLG Frankreich
Ich rufe in meinem Batchprogramm ein anderes Batchprogramm mit dem befehl "call" auf.
Das Programm das ich aufrufe muss aber als Administrator ausgeführt werden.
wie kann ich das jetzt als Admin aufrufen?
GLG Frankreich
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 381790
Url: https://administrator.de/contentid/381790
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
4 Kommentare
Neuester Kommentar
Warte ...
Erst einmal musst du verstehen was CALL tut. Es ist ein Irrtum, dass du ein anderes "Batchprogramm" aufrufst, im Sinne, dass du einen weiteren Prozess startest. Dem ist nicht so. Ein per CALL aufgerufenes Batchscript läuft im selben cmd.exe Prozess wie das aufrufende Script. Das ermölicht dir bspw. dass Werte von Variablen die im aufgerufenen Script geändert oder definiert wurden, anschließend auch im aufrufenden Script abgreifbar sind. Sobald du das zweite Script mit erhöhten Rechten startest, bedingt das einen weiteren cmd.exe Prozess, da logischerweise ein Prozess nicht verschiedene Rechte gleichzeitig haben kann. Die Effekte die dir CALL beschert, sind also nicht mehr gültig. Keine Ahnung ob das für deinen Fall von Interesse ist oder nicht.
Du kannst mit erhöhten Rechten starten, dafür gibt es mehrere Möglichkeiten. Die oben genannten Utilities zum einen, reine Scriptlösungen zum anderen. Wie auch immer, der Nutzer muss auch in der Lage sein, die angeforderten Rechte zu gewähren. Das heißt der User gehört bspw. zur lokalen Administratorengruppe und braucht nur den UAC Prompt zu bestätigen, oder er hat Zugang zu einem anderen Account mit Administratorrechten. Sonst funktioniert das nicht.
Was nun genau am sinnvollsten ist, ist mit den paar Informationen die du gegeben hast noch nicht wirklich zu beantworten. Was genau machst du denn noch im ersten Script (außer das zweite aufzurufen)? Muss das erste Script warten bis das zweite beendet wurde? Müssen Informationen zwischen beiden Prozessen ausgetauscht/übermittelt werden? Einfach ein bisschen mehr Kontext geben ...
Steffen
Erst einmal musst du verstehen was CALL tut. Es ist ein Irrtum, dass du ein anderes "Batchprogramm" aufrufst, im Sinne, dass du einen weiteren Prozess startest. Dem ist nicht so. Ein per CALL aufgerufenes Batchscript läuft im selben cmd.exe Prozess wie das aufrufende Script. Das ermölicht dir bspw. dass Werte von Variablen die im aufgerufenen Script geändert oder definiert wurden, anschließend auch im aufrufenden Script abgreifbar sind. Sobald du das zweite Script mit erhöhten Rechten startest, bedingt das einen weiteren cmd.exe Prozess, da logischerweise ein Prozess nicht verschiedene Rechte gleichzeitig haben kann. Die Effekte die dir CALL beschert, sind also nicht mehr gültig. Keine Ahnung ob das für deinen Fall von Interesse ist oder nicht.
Du kannst mit erhöhten Rechten starten, dafür gibt es mehrere Möglichkeiten. Die oben genannten Utilities zum einen, reine Scriptlösungen zum anderen. Wie auch immer, der Nutzer muss auch in der Lage sein, die angeforderten Rechte zu gewähren. Das heißt der User gehört bspw. zur lokalen Administratorengruppe und braucht nur den UAC Prompt zu bestätigen, oder er hat Zugang zu einem anderen Account mit Administratorrechten. Sonst funktioniert das nicht.
Was nun genau am sinnvollsten ist, ist mit den paar Informationen die du gegeben hast noch nicht wirklich zu beantworten. Was genau machst du denn noch im ersten Script (außer das zweite aufzurufen)? Muss das erste Script warten bis das zweite beendet wurde? Müssen Informationen zwischen beiden Prozessen ausgetauscht/übermittelt werden? Einfach ein bisschen mehr Kontext geben ...
Steffen