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

125

Ich habe eine Batch-Datei namens test.bat. Ich rufe die folgenden Anweisungen in der test.batDatei 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 hätte ich eine Desktop-Verknüpfung erstellt und als Administrator ausgeführt. Es sollte nicht zur Eingabe eines Benutzernamens oder Kennworts aufgefordert werden).

Ich habe versucht , das Hinzufügen /elevateund /NOUACParameter in der oben test.bat, aber kein Glück. Wie behebe ich dieses Problem?

Ich weiß, wie es manuell gemacht wird, aber ich möchte, dass dies über die Eingabeaufforderung ausgeführt wird.

(Von Marnix Klooster ): ... ohne zusätzliche Tools zu verwenden, wie sie in einer Antwort auf die Super User-Frage vorgeschlagen wurden. So führen Sie ein Programm über die Befehlszeile mit erhöhten Rechten aus .)

Praveen Jakkaraju
quelle
84
Diese Frage kann hier gestellt werden und sollte nicht als Off-Topic geschlossen werden. Es ist eine Frage im Zusammenhang mit Programmierung und Softwareentwicklung. DotNet-Programm und C ++ können alle mit System- und anderen Programmen iterieren, indem sie den Konsolenbefehl aufrufen oder einfach über eine Batchdatei.
Steven Du
2
Dies war nützlich für mich: superuser.com/questions/55809/… Manchmal bedeutet "Als Administrator ausführen" "Mit erhöhten Rechten ausführen".
Benutzer
sudo.batkönnte für jemanden nützlich sein. pastebin.com/taHp4FzR
Niklas R
1
Sollte in den Superuser verschoben werden anstatt geschlossen (und auch als Duplikat von superuser.com/questions/55809/… gekennzeichnet )
Julien Kronegg

Antworten:

85

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.

Dhana
quelle
8
@ BenVoigt bitte schlagen Sie eine Alternative dann
Daniel Sokolowski
10
Versuchen Sie powershell -Command "Start-Process 'C:\program.exe' -Verb runAs"( C:\program.exedurch Ihren Befehl ersetzen ), siehe superuser.com/questions/55809/…
Julien Kronegg
8
Warum muss ich ein Passwort eingeben, wenn ich mit der rechten Maustaste auf ein anderes Programm klicken und als Administrator ausführen kann, ohne ein Passwort einzugeben? Vielen Dank
RayLoveless
4
@ BenVoigt Blasen Sie keine Dichtung. Wie jeder Machtbefehl ist er in bestimmten Kontexten sowohl nützlich als auch notwendig.
b1nary.atr0phy
2
Jede Methode, mit der ich einfach das Administratorkennwort im initian-Befehl selbst eingeben kann. Es fragt nach dem Administratorkennwort, wenn ich den ersten Befehl ausführe. Kann diese Eingabe überhaupt bereitgestellt werden? runas.exe /user:yash a.exe MyAwesomePassword
Yash Kumar Verma
22

Siehe diesen TechNet- Artikel: Runas-Befehlsdokumentation

An einer Eingabeaufforderung:

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

Oder wenn Sie mit einer Domain verbunden sind:

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
John Ruiz
quelle
Ich habe Ihre Frage erneut gelesen und Sie möchten nicht dazu aufgefordert werden. Mein Vorschlag führt zu einer Passwortabfrage. Es tut uns leid!
John Ruiz
12
Ich habe diesen Befehl ausprobiert. Er fragt nach Anmeldeinformationen. Er sollte nicht nach Anmeldeinformationen fragen. wie ich in meiner Anfrage erwähnt habe. Wenn ich mit der rechten Maustaste auf das Desktop-Element klicke, wird es als Administrator ausgeführt. Dies ist das erwartete Verhalten.
Praveen Jakkaraju
6

Es sieht so aus, psexec -hals wäre dies der richtige Weg:

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

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

Aber es funktioniert auf meiner Maschine.

Ben Curthoys
quelle
Funktioniert hier nicht. Stattdessen bekomme ich nur die Hilfeausgabe.
Ygoe
7
Dies scheint für mich nicht zu funktionieren, es sei denn, ich führe es von einem Prozess aus, der bereits über Administratorrechte verfügt: "PSEXESVC-Dienst konnte nicht installiert werden"
Vince
1
Ich habe diesen Befehl nicht einmal in Windows 10. - Nicht über die Eingabeaufforderung oder über Power Shell.
BrainSlugs83
@ BrainSlugs83, du musst es herunterladen, der Link ist in der Antwort.
Abel