Comment ouvrir une invite de commandes élevée en utilisant des lignes de commandes sur une commande cmd normale ?
Par exemple, j'utilise runas /username:admin cmd
mais la commande cmd ouverte ne semble pas être élevée ! Des solutions ?
Comment ouvrir une invite de commandes élevée en utilisant des lignes de commandes sur une commande cmd normale ?
Par exemple, j'utilise runas /username:admin cmd
mais la commande cmd ouverte ne semble pas être élevée ! Des solutions ?
Alors que les deux solutions fournies par Dheeraj Bhaskar fonctionnent, malheureusement elles entraîneront l'affichage (selon l'ordre z) de la boîte de dialogue UAC, mais sans qu'elle soit mise au premier plan (la fenêtre au premier plan étant celle de la console cmd/powershell), donc je dois soit prendre la souris et cliquer sur "oui", soit sélectionner la fenêtre UAC en utilisant Alt+Shift+Tab. (Testé sur Win10x64 v1607 build14393.447 ; UAC = "[...] ne pas atténuer [...]".)
La solution suivante est un peu maladroite car elle utilise deux fichiers, mais elle préserve l'ordre de focus correct, donc aucune action supplémentaire de souris/clavier n'est requise (à part la confirmation de la boîte de dialogue UAC : Alt+Y).
%SystemRoot%\System32\cmd.exe /k "cd /d"
@start cmdadm.lnk %cd%
Exécuter avec su
.
Faites en sorte que le fichier de commandes enregistre les informations d'identification du compte administrateur actuel en utilisant l'option /savecred
. Cela demandera les informations d'identification la première fois, puis stockera le mot de passe chiffré dans le gestionnaire d'informations d'identification. Ensuite, à chaque exécution ultérieure du fichier de commandes, il s'exécutera en tant qu'administrateur complet sans demander d'informations d'identification car elles sont stockées de manière chiffrée dans le gestionnaire d'informations d'identification et l'utilisateur final ne pourra pas obtenir le mot de passe. Le code suivant devrait ouvrir une CMD élevée avec des privilèges d'administrateur complets et ne demandera le mot de passe que la première fois :
START c:\Windows\System32\runas.exe /user:Administrator /savecred cmd.exe
Ma façon préférée de faire cela est d'utiliser PsExec.exe de SysInternals, disponible sur http://technet.microsoft.com/en-us/sysinternals/bb897553
.\psexec.exe -accepteula -h -u "$username" -p "$password" cmd.exe
L'option "-h" est celle qui fait la magie:
-h Si le système cible est Vista ou supérieur, exécute le processus avec le jeton élevé du compte, s'il est disponible.
J'utilise Elevate
depuis un certain temps maintenant.
Sa description - Cet utilitaire exécute une commande avec élévation des privilèges UAC. C'est utile pour travailler dans des invites de commandes ou avec des fichiers batch.
Je copie le bin.x86-64\elevate.exe
du .zip
dans C:\Program Files\elevate
et j'ajoute ce chemin à mon PATH
.
Ensuite, dans GitBash, je peux exécuter quelque chose comme elevate sc stop W3SVC
pour arrêter le service IIS
.
L'exécution de la commande me donne la boîte de dialogue UAC
, correctement concentrée avec le contrôle du clavier et en acceptant la boîte de dialogue je reviens à mon shell.
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.