Comment exécuter une application en tant que «exécuter en tant qu'administrateur» à partir de l'invite de commande? [fermé]

126

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

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

Lorsque je l'exécute via l'invite de commande, mon testScript s'exécute avec succès. Je veux l'exécuter en tant qu'administrateur (comme si j'avais créé un raccourci sur le bureau et l'exécuter en tant qu'administrateur. Il ne devrait pas demander de nom d'utilisateur ou de mot de passe).

J'ai essayé d'ajouter /elevateet des /NOUACparamètres ci-dessus test.bat, mais pas de chance. Comment 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 une réponse à la question du super utilisateur Comment exécuter un programme à partir de la ligne de commande avec des droits élevés .)

Praveen Jakkaraju
la source
84
Cette question peut être posée ici et ne doit pas être fermée comme hors sujet. C'est une question liée à la programmation et au développement de logiciels. Le programme DotNet et le C ++ ont tous la capacité d'itérer avec le système et d'autres programmes en invoquant la commande de la console ou simplement via un fichier de commandes.
Steven Du
2
Cela m'a été utile: superuser.com/questions/55809/... Parfois, «exécuter en tant qu'administrateur» signifie «exécuter avec des droits élevés».
Utilisateur
sudo.batpourrait être utile à quelqu'un. pastebin.com/taHp4FzR
Niklas R
1
Doit être déplacé vers superutilisateur au lieu de fermé (et également signalé comme duplicata de superuser.com/questions/55809/… )
Julien Kronegg

Réponses:

85

Essaye ç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 modifiez le mot de passe administrateur, vous serez à nouveau invité.

Dhana
la source
8
@BenVoigt s'il vous plaît suggérer une alternative alors
Daniel Sokolowski
10
Essayez powershell -Command "Start-Process 'C:\program.exe' -Verb runAs"(remplacez C:\program.exepar votre commande), voir superuser.com/questions/55809/…
Julien Kronegg
8
Pourquoi dois-je entrer un mot de passe alors que je peux cliquer avec le bouton droit sur n'importe quel autre programme et exécuter en tant qu'administrateur sans entrer de mot de passe? Merci
RayLoveless
4
@BenVoigt Ne soufflez pas sur un joint. Comme toute commande de puissance, elle est à la fois utile et nécessaire dans des contextes spécifiques.
b1nary.atr0phy
2
toute méthode utilisant laquelle je peux simplement insérer le mot de passe administrateur dans la commande initian elle-même. Il demande le mot de passe administrateur lorsque j'exécute la commande initiale. Cette contribution peut-elle être fournie en premier lieu? runas.exe /user:yash a.exe MyAwesomePassword
Yash Kumar Verma
22

Consultez cet article TechNet : documentation de la commande Runas

À partir d'une invite de commande:

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

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

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
John Ruiz
la source
J'ai relu votre question et vous ne voulez pas être invité. Ma suggestion provoquera une invite de mot de passe. Désolé!
John Ruiz
12
J'ai essayé cette commande, elle demande des informations d'identification, elle ne devrait pas demander d'informations d'identification. comme je l'ai mentionné dans ma requête. si je clique avec le bouton droit sur l'élément de bureau, exécutez-le en tant qu'administrateur est le comportement attendu.
Praveen Jakkaraju
6

Il semble que psexec -hc'est la façon de faire ceci:

 -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 répertorié dans la documentation en ligne de Sysinternals - PsExec .

Mais cela fonctionne sur ma machine.

Ben Curthoys
la source
Ça ne marche pas ici. Au lieu de cela, je reçois juste la sortie d'aide.
ygoe
7
Cela ne semble pas fonctionner pour moi à moins que je ne l'exécute à partir d'un processus qui dispose déjà des privilèges d'administrateur: "Impossible d'installer le service PSEXESVC"
Vince
1
Je n'ai même pas cette commande dans Windows 10. - Pas à partir de l'invite de commande ou de Power Shell.
BrainSlugs83
@ BrainSlugs83, vous devez le télécharger, le lien est dans la réponse.
Abel