146 votes

Comment ouvrir une cmd élevée en utilisant la ligne de commande pour Windows ?

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 ?

2voto

gavenkoa Points 6974

Pour les fans de Cygwin :

cygstart -a runas cmd

2voto

Gareth Points 39

Le moyen le plus rapide de loin est de :

  1. CTRL+ALT+DELETE
  2. Exécuter le GESTIONNAIRE DES TÂCHES
  3. Cliquer sur 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.

2voto

Michel de Ruiter Points 1326

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.

1voto

avm Points 192

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-

  1. Appuyez sur Windows+R et tapez compmgmt.msc pour ouvrir la fenêtre Gestion de l'ordinateur.
  2. Allez dans Outils Système -> Utilisateurs et groupes locaux -> Utilisateurs
  3. Vous devriez voir un compte portant le nom Administrateur ici (plus d'informations sur ce compte peuvent être trouvées ici).
  4. Cliquez avec le bouton droit sur Administrateur et sélectionnez Propriétés.
  5. Cochez Ne jamais expirer au niveau du mot de passe. Décochez Le compte est désactivé et tout le reste, puis cliquez sur OK. Cela activera le compte administrateur sur votre système. Passez cette étape s'il est déjà activé.
  6. Encore une fois, cliquez avec le bouton droit sur Administrateur et cliquez sur Définir un mot de passe (par défaut, il n'a pas de mot de passe défini, mais pour que la commande 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

1voto

Missing Twins Points 21

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%"

  1. Enregistré sous smartctl.cmd
  2. Créez un raccourci pour smartctl.cmd
  3. Copiez le raccourci dans C:\Users\#VotreNom#\AppData\Roaming\Microsoft\Windows\StartMenu\Programs
  4. Cliquez sur recherche à côté du menu Démarrer et saisissez smartctl
  5. Faites un clic droit sur Épingler au début

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