Verursacht ein UAC-Popup über die Befehlszeile ohne benutzerdefinierte Tools

8

In Win7 kann ein Benutzer mit der rechten Maustaste auf ein Programm klicken und "Als Administrator ausführen" auswählen. Sie erhalten ein Popup, müssen jedoch nicht das Administratorkennwort eingeben.

Ich möchte die gleiche Funktionalität erhalten, jedoch über die Befehlszeile - insbesondere aus einer .batDatei heraus.

Ich bin bewusst von dem eingebauten in runasBefehl, aber ich habe festgestellt , keinen Weg , das zu verwenden , die zu einem bestimmten Zeitpunkt nach dem Passwort nicht am Ende zu fragen.

Ich bin auch bewusst von der Process.StartInfo.Verb = "runas";Methode, die genau das tut , was ich will, aber verlangt , dass ich einen benutzerdefinierten .NET - App zu erstellen.

Gibt es eine Möglichkeit, dies nur mit integrierten Befehlszeilentools in Win7 zu erreichen?


Update: Dank uSlackr habe ich diesen Befehl ausgearbeitet:

powershell Start-Process cmd.exe -Verb RunAs

Natürlich cmd.exeist das nur ein Platzhalter.

jwd
quelle

Antworten:

4

Sie können das Cmdlet Start-Process in Powershell mit dem Verb RunAs verwenden. Mehr hier: http://technet.microsoft.com/en-us/library/dd347667.aspx

uSlackr
quelle
Perfekt, danke. Ich habe die Frage mit einem Arbeitsbeispiel aktualisiert.
JWD
Gibt es ein Äquivalent unter Windows XP?
Maxbester
Powershell ist für XP verfügbar.
uSlackr
XP hat keine Benutzerkontensteuerung, daher ist die Frage für sie nicht relevant
nponeccop
@nponeccop Ich gehe davon aus, dass die Motivation für die Ausführung unter Windows XP darin besteht, ein einzelnes Skript sowohl unter Windows 7 als auch unter Windows XP ausführen zu lassen, nicht einen Pfad für Windows 7 mit PowerShell und UAC und einen zweiten Pfad für Windows XP ohne PowerShell und keine Benutzerkontensteuerung.
Damian Yerrick
1

Führen Sie einfach die cmd.exe als Administrator aus.

Die Tastenkombination hierfür lautet [Umschalt] + [Eingabe], nachdem Sie die Befehlszeile aus dem Startmenü ausgewählt haben. Ein UAC-Fenster sollte sich öffnen.

ODER

Führen Sie alles als Admin aus

Nicht für den täglichen Gebrauch empfohlen, aber es gibt auch ein integriertes Administratorkonto, das Sie in Windows aktivieren können, in dem einfach alle Anwendungen als Root ausgeführt werden. In einem administrativen cmd:

net user administrator /active:yes

Ändern Sie dies in '/ active: no', wenn Sie das Konto deaktivieren möchten. Ein kurzes Intro hier .

A. Hayes
quelle
Zu Ihrem ersten Vorschlag: Entschuldigung, mir war nicht klar. Ich möchte dies aus einer .bat-Datei heraus tun (Frage aktualisiert).
JWD
Zu Ihrem zweiten Vorschlag: Ich habe dies ausgeführt und die Meldung "Systemfehler 5 ist aufgetreten. Zugriff verweigert."
JWD
Sogar cmd.exe als Admin ausführen?
A. Hayes
1
Der springende Punkt dieser Frage ist, dass ich diesen Befehl als Nicht-Administrator-Benutzer ausführe und die Berechtigungen vorübergehend erhöhen möchte.
JWD