120 votes

Comment exécuter une application en tant que "Exécuter en tant qu'administrateur" à partir de l'invite de commande ?

J'ai un fichier batch appelé test.bat . J'appelle les instructions ci-dessous dans le test.bat archivo:

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

Lorsque je l'exécute à l'invite de commande, mon testcript s'exécute correctement. Je veux l'exécuter en tant qu'administrateur (comme si j'avais créé un raccourci sur le bureau et exécuté en tant qu'administrateur. Aucun nom d'utilisateur ou mot de passe ne devrait être demandé).

J'ai essayé d'ajouter /elevate y /NOUAC dans les paramètres ci-dessus test.bat mais pas de chance. Comment puis-je résoudre ce problème ?

Je sais comment le faire manuellement, mais je veux que cela soit exécuté à partir de l'invite de commande.

(Par Marnix Klooster ) : ...sans utiliser d'outils supplémentaires, comme ceux suggérés dans la section une réponse à la question du super utilisateur Comment exécuter un programme à partir de la ligne de commande avec des droits élevés ? .)

83voto

Dhana Points 305

Essayez ça :

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

Il enregistre le mot de passe la première fois et ne le demande plus jamais. Peut-être que lorsque vous changerez le mot de passe de l'administrateur, vous serez à nouveau invité à le faire.

22voto

John Ruiz Points 764

Voir ceci TechNet article : Documentation sur la commande Runas

Depuis une invite de commande :

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

Ou, si vous êtes connecté à un domaine :

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd

6voto

Ben Curthoys Points 94

On dirait que psexec -h est le moyen d'y parvenir :

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

Ce qui... ne semble pas être listé dans la documentation en ligne dans Sysinternals - PsExec .

Mais cela fonctionne sur ma machine.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X