it-swarm.com.de

Wie führe ich eine Anwendung als "Als Administrator ausführen" an der Eingabeaufforderung aus?

Ich habe eine Batch-Datei mit dem Namen test.bat. Ich rufe die folgenden Anweisungen in der Datei test.bat auf:

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1

Wenn ich dies über die Eingabeaufforderung ausführe, wird mein Testskript erfolgreich ausgeführt. Ich möchte es als Administrator ausführen (als ob ich eine Desktopverknüpfung erstellt und als Administrator ausgeführt hätte. Es sollte nicht zur Eingabe eines Benutzernamens oder Kennworts aufgefordert werden).

Ich habe versucht, /elevate und /NOUAC Parameter in die obigen test.bat einzufügen, aber kein Glück. Wie behebe ich dieses Problem?

Ich weiß, wie man es manuell macht, aber ich möchte, dass dies über den Befehl Eingabeaufforderung ausgeführt wird.

(Von Marnix Klooster ): ... ohne zusätzliche Tools zu verwenden, wie in eine Antwort auf die Frage des Super Users Befehlszeile mit erhöhten Rechten .)

120

Versuche dies:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 

Es speichert das Passwort beim ersten Mal und fragt nie wieder. Wenn Sie das Administratorkennwort ändern, werden Sie möglicherweise erneut dazu aufgefordert.

83
Dhana

Siehe diesen TechNet Artikel: Dokumentation zu Runas-Befehlen

Von einer Eingabeaufforderung aus:

C:\> runas /user:<localmachinename>\administrator cmd

Oder wenn Sie mit einer Domain verbunden sind:

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
22
John Ruiz

Es sieht so aus, als ob psexec -h der Weg ist, dies zu tun:

 -h         If the target system is Windows Vista or higher, has the process
            run with the account's elevated token, if available.

Welche ... scheint nicht in der Online-Dokumentation in Sysinternals - PsExec aufgeführt zu sein.

Aber es funktioniert auf meiner Maschine.

6
Ben Curthoys