Batchdatei per Batchscript als Admin ausführen
Hallo,
ich habe eine kleine Batchdatei, in der ich wiederum eine andere Batch starten möchte.
Diese muss jedoch mit Adminrechten gestartet werden.
Das bekomme ich irgendwie nicht hin.
Hier der entsprechende Teil aus meinem Code:
Ich vermute mal, dass ich den "runas"-Befehl irgendwie in die Codezeile darüber integrieren muss.
Könnt Ihr helfen?
Grüße,
BN
ich habe eine kleine Batchdatei, in der ich wiederum eine andere Batch starten möchte.
Diese muss jedoch mit Adminrechten gestartet werden.
Das bekomme ich irgendwie nicht hin.
Hier der entsprechende Teil aus meinem Code:
call "D:\Desktop\BACKUP\Backup_DAD.bat"
runas /USER:administrator
Ich vermute mal, dass ich den "runas"-Befehl irgendwie in die Codezeile darüber integrieren muss.
Könnt Ihr helfen?
Grüße,
BN
Please also mark the comments that contributed to the solution of the article
Content-Key: 41788053534
Url: https://administrator.de/contentid/41788053534
Printed on: July 26, 2024 at 23:07 o'clock
10 Comments
Latest comment
Moin,
natürlich, Du musst das kombinieren. Runas erwartet die Angabe des Programms, das ausgeführt werden soll.
Details siehe Runas – Programme starten mit einem anderen Benutzerkonto. Das solltest Du Dir durchlesen, denn normalerweise kommst Du nicht so einfach in den Admin-Kontext. Wird hier sicherlich das typische Problem kommen, dass runas kein Passwort auf der Kommandozeile zulösst.
Gruß
DivideByZero
natürlich, Du musst das kombinieren. Runas erwartet die Angabe des Programms, das ausgeführt werden soll.
Details siehe Runas – Programme starten mit einem anderen Benutzerkonto. Das solltest Du Dir durchlesen, denn normalerweise kommst Du nicht so einfach in den Admin-Kontext. Wird hier sicherlich das typische Problem kommen, dass runas kein Passwort auf der Kommandozeile zulösst.
Gruß
DivideByZero
![Mitglied: 12168552861 Mitglied: 12168552861](/images/members/profile_divers_64x64.png)
@echo off
net session >nul 2>&1 || (powershell -EP Bypass -NoP -C start "%~0" -verb runas &exit /b)
call whatever.cmd
Zitat von @12168552861:
@echo off
net session >nul 2>&1 || (powershell -EP Bypass -NoP -C start "%~0" -verb runas &exit /b)
call whatever.cmd
Hallo meisterroehrich
Eine Verständnisfrage. "Net session" kann in CMD nicht ohne Admin Rechte ausgeführt werden. D.h. man erhält einen "Systemfehler 5" zurück. Wie löst Du diesen Sachverhalt?
Beste Grüsse
![Mitglied: 12168552861 Mitglied: 12168552861](/images/members/profile_divers_64x64.png)
Zitat von @PeterGyger:
Eine Verständnisfrage. "Net session" kann in CMD nicht ohne Admin Rechte ausgeführt werden. D.h. man erhält einen "Systemfehler 5" zurück. Wie löst Du diesen Sachverhalt?
Das ist ja der Sinn dahinter Eine Verständnisfrage. "Net session" kann in CMD nicht ohne Admin Rechte ausgeführt werden. D.h. man erhält einen "Systemfehler 5" zurück. Wie löst Du diesen Sachverhalt?
Hallo
Vielen Dank für die präzise Erklärung! Das nennt man von einem Meister unterrichtet werden. Wirklich eine elegante Lösung.
Handhabt das die Shell generell so, dass wenn ein Fehler bei der Ausführung auftritt und ein doppeltes Pipe folgt, wird der nachfolgende Befehl ausgeführt?
D.h. man kann sich die IF / Errorlevel Abfrage sparen?
Viele Grüsse
Vielen Dank für die präzise Erklärung! Das nennt man von einem Meister unterrichtet werden. Wirklich eine elegante Lösung.
Handhabt das die Shell generell so, dass wenn ein Fehler bei der Ausführung auftritt und ein doppeltes Pipe folgt, wird der nachfolgende Befehl ausgeführt?
D.h. man kann sich die IF / Errorlevel Abfrage sparen?
Viele Grüsse
![Mitglied: 12168552861 Mitglied: 12168552861](/images/members/profile_divers_64x64.png)
Handhabt das die Shell generell so, dass wenn ein Fehler bei der Ausführung auftritt und ein doppeltes Pipe folgt, wird der nachfolgende Befehl ausgeführt?
&& (und) führt nachfolgendes aus sofern Ergebnis des letzten Befehls erfolgreich, | | (oder) führt das folgende nur aus wenn es einen Fehler gab. Aber Achtung nicht jeder Befehl liefert auch immer korrekt Errorlevel.D.h. man kann sich die IF / Errorlevel Abfrage sparen?
Ja. Lässt sich auch hintereinanderschalten für beide Fälle.meinbefehl.exe && (
echo Erfolg
) || (
echo Fehler
)
Hallo
Danke für die Erklärung. Ich habe einige Batches programmiert, Aber das war mir neu.
Ich habe eine Referenzdazu gefunden. Das setzte ich auf meine ToDo Liste. Einfach als kleine Fingerübung.
Vielen Dank für die Erklärung.
Beste Grüsse
Danke für die Erklärung. Ich habe einige Batches programmiert, Aber das war mir neu.
Ich habe eine Referenzdazu gefunden. Das setzte ich auf meine ToDo Liste. Einfach als kleine Fingerübung.
Vielen Dank für die Erklärung.
Beste Grüsse
![Mitglied: 12168552861 Mitglied: 12168552861](/images/members/profile_divers_64x64.png)
... für die ewigen 80er
.