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 ?
Le moyen le plus rapide de loin est de :
CTRL+ALT+DELETE
FICHIER > Exécuter une nouvelle tâche > tapez "cmd"
et cochez la case "Créer cette tâche avec des privilèges administratifs".Je ne sais pas si cela aide mais c'est ainsi que j'ai réussi à le faire. Cela ne sert à rien si vous avez besoin d'une commande à exécuter depuis un fichier batch mais bon ... j'avais juste besoin de le faire parce que l'explorateur Windows est corrompu et avait besoin de le réparer.
C'est ma solution de contournement. J'espère que cela aidera quelqu'un, sinon l'auteur original.
Lorsqu'un script CMD a besoin de droits d'administrateur et que vous le savez, ajoutez cette ligne tout en haut du script (juste en dessous de @ECHO OFF
) :
NET FILE > NUL 2>&1 || POWERSHELL -ex Unrestricted -Command "Start-Process -Verb RunAs -FilePath '%ComSpec%' -ArgumentList '/c \"%~fnx0\" %*'" && EXIT /b
Le NET FILE
vérifie l'existence de droits d'administrateur. S'il n'y en a pas, PowerShell redémarre le script actuel (avec ses arguments) dans une nouvelle console élevée, et le script non élevé se ferme.
Pour permettre l'exécution de scripts -ex Unrestricted
est nécessaire. -Command
exécute la chaîne suivante. Start-Process -Verb RunAs
exécute un processus en tant qu'administrateur : la console (%ComSpec%
, généralement C:\Windows\System32\cmd.exe
) démarrant (/c
) le script actuel (\"%~fnx0\"
) en passant ses arguments (%*
).
Peut-être pas la réponse exacte à cette question, mais cela pourrait bien être ce dont les gens ont besoin en arrivant ici.
Un peu tard pour une réponse mais je réponds quand même pour les retardataires comme moi. J'ai deux approches. La première est basée sur une petite modification de la réponse de @Dheeraj Bhaskar et la deuxième est nouvelle (qui n'est pas mentionnée dans aucune réponse ici).
Approche 1 : Créer une commande admin
pour Windows (juste pour la flexibilité).
@ECHO OFF
powershell -Command "Start-Process %1 -Verb RunAs"
Ouvrez le bloc-notes -> copiez/collez le script ci-dessus -> enregistrez-le sous le nom admin.bat dans c:\windows
Beaucoup de choses peuvent être ajoutées dans le script ci-dessus pour l'améliorer, mais j'ai essayé de le garder simple et aussi parce que je ne suis pas un expert en scripting batch.
Maintenant vous pouvez utiliser admin comme commande pour exécuter toute autre commande ou application avec des privilèges élevés.
Pour répondre à la question originale- tapez admin cmd
dans l'invite de commande standard.
Approche 2 : Utilisation de la commande runas. Pour cela, nous devons activer le compte Administrateur intégré s'il n'est pas déjà activé et définir un mot de passe. Ce compte est désactivé par défaut sur la plupart des systèmes.
Lors de la fabrication de PC, vous pouvez utiliser le compte Administrateur intégré pour exécuter des programmes et des applications avant qu'un compte utilisateur ne soit créé. Source
Étapes pour activer le compte Administrateur-
compmgmt.msc
pour ouvrir la fenêtre Gestion de l'ordinateur.runas
fonctionne, nous devons définir un mot de passe). Maintenant, Windows vous montrera un avertissement menaçant pour la vie que vous pouvez accepter. OU Si vous voulez jouer la sécurité, vous devriez vous connecter avec ce compte après l'avoir activé et définir un mot de passe à partir de là.Maintenant la commande runas
devrait fonctionner- Démarrer une invite de commande standard et taper-
runas /user:administrator cmd
EXTRA : Maintenant nous pouvons créer quelque chose de similaire à la commande sudo
de Linux. Créez un fichier sudo.bat avec le script suivant et enregistrez-le dans c:\windows.
@ECHO OFF
powershell -Command "runas /user:administrator %1"
Maintenant nous pouvons faire sudo cmd
J'ai fait ça pour mon smartctl, et c'est devenu une application portable. Je l'ai emprunté d'ici : ici.
@echo off
set location=%cd%\bin
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList { '/k "TITLE Smartctl" & color 07 & pushd "%location%" & prompt $g & echo "Bienvenue dans Smartctl cmd"' }"
prompt $g
cache le chemin d'accès long menant.pushd "%location%"
est similaire à cd /d "%location%"
smartctl.cmd
smartctl.cmd
C:\Users\#VotreNom#\AppData\Roaming\Microsoft\Windows\StartMenu\Programs
smartctl
Épingler au début
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.