Provoquer un popup UAC à partir de la ligne de commande sans outils personnalisés


8

Dans Win7, un utilisateur peut cliquer avec le bouton droit sur un programme et choisir «Exécuter en tant qu'administrateur». Vous obtenez une fenêtre contextuelle, mais vous n'avez pas à saisir le mot de passe administrateur.

Je voudrais obtenir la même fonctionnalité, mais à partir de la ligne de commande - en particulier, à l'intérieur d'un .batfichier.

Je suis au courant de la INTÉGRÉS runascommande, mais je ne l' ai pas trouvé un moyen d'utiliser ce qui ne se termine pas demander un mot de passe à un moment donné.

Je suis également au courant de la Process.StartInfo.Verb = "runas";méthode, qui fait exactement ce que je veux, mais moi , il faut créer une application .NET personnalisée.

Existe-t-il un moyen, en utilisant uniquement les outils de ligne de commande intégrés dans Win7, d'accomplir cela?


Mise à jour: Grâce à uSlackr, j'ai élaboré cette commande:

powershell Start-Process cmd.exe -Verb RunAs

Bien sûr, le cmd.exeest juste un espace réservé.

Réponses:


4

Vous pouvez utiliser l'applet de commande Start-Process dans Powershell avec le verbe RunAs. Plus ici: http://technet.microsoft.com/en-us/library/dd347667.aspx


Parfait, merci. J'ai mis à jour la question avec un exemple de travail.
jwd

Tout équivalent sur Windows XP?
Maxbester

Powershell est disponible pour XP.
uSlackr

XP n'a pas UAC, donc la question ne s'y rapporte pas
nponeccop

@nponeccop Je suppose que la motivation pour vouloir s'exécuter sous Windows XP est de laisser un seul script s'exécuter sur Windows 7 et Windows XP, pas un seul chemin pour Windows 7 qui a PowerShell et UAC et un deuxième chemin pour Windows XP qui n'a pas PowerShell et aucun UAC.
Damian Yerrick

1

Exécutez simplement cmd.exe en tant qu'administrateur.

Le raccourci clavier pour cela est [Maj] + [Entrée] après avoir sélectionné la ligne de commande dans le menu Démarrer. Une fenêtre UAC devrait apparaître.

OU

Tout exécuter en tant qu'administrateur

Non recommandé pour un usage quotidien, mais il existe également un compte administrateur intégré que vous pouvez activer dans Windows qui exécutera simplement toutes les applications en tant que root. Dans une cmd administrative:

net user administrator /active:yes

Remplacez-le par «/ actif: non» si vous souhaitez désactiver le compte. Une brève introduction ici .


Concernant votre première suggestion: Désolé, je n'ai pas été clair. Je veux le faire à partir d'un fichier .bat (question mise à jour).
jwd

Concernant votre deuxième suggestion: j'ai exécuté ceci et j'ai obtenu "L'erreur système 5 s'est produite. L'accès est refusé."
jwd

Même en exécutant cmd.exe en tant qu'administrateur?
A. Hayes

1
L'intérêt de cette question est que j'exécute cette commande en tant qu'utilisateur non administrateur et que je souhaite élever temporairement les autorisations.
jwd
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.