Question Comment puis-je toujours exécuter l'invite de commande en tant qu'administrateur?


En tant que développeur, j'ai souvent besoin d'ouvrir une invite de commande à des fins diverses. Par exemple, j'utilise iisreset pour redémarrer mon serveur Web local.

J'ouvre généralement la fenêtre de commande de deux manières:

  1. presse Gagner, tapez "cmd" et appuyez sur Entrer
  2. Dans l'explorateur, maintenez Décalage et faites un clic droit sur un dossier et choisissez "Ouvrir la fenêtre de commande ici"

Cependant, lorsque j'ouvre la fenêtre de commande de l'une de ces manières, je ne dispose pas des privilèges d'administrateur complets auxquels je pense avoir droit.

I am an administrator, but cmd.exe doesn't know that

Pour exécuter des applications réservées aux administrateurs, je dois ouvrir la ligne de commande de cette manière relativement laborieuse:

  1. presse Gagner, tapez "cmd"
  2. Attendez que le menu se remplisse
  3. Soulevez la main du clavier et mettez-la sur la souris
  4. Faites un clic droit sur l'élément de menu "cmd.exe"
  5. Choisissez "Exécuter en tant qu'administrateur"

C'est inacceptable pour plusieurs raisons:

  • La fenêtre s'ouvre toujours dans C: \ windows \ system32, plutôt que mon Users répertoire (comme dans la technique approuvée 1) ou le dossier dans lequel je veux être (comme dans la technique approuvée 2). Je dois donc souvent changer de répertoire pour arriver là où je veux aller.
  • Ce processus est plusieurs millisecondes plus lent que l'une de mes méthodes préférées. Effectué plusieurs fois par jour, chaque jour pendant le reste de ma carrière, il s’agit d’une dizaine de jours de perte de temps passé à cliquer et à attendre et à changer de répertoire.
  • En tant que programmeur, effectuer une tâche robotique inutile me cause une grande douleur émotionnelle.
  • En tant que programmeur, lever la main est une tâche ardue qui me cause beaucoup de douleur physique.

C'est pourquoi je recherche une solution unique qui permettra aux techniques approuvées 1 et 2 d'ouvrir les invites de commandes de l'administrateur.

De nombreux programmes vous permettent de modifier définitivement leur niveau de privilège par défaut à partir du menu Propriétés. L'invite de commandes ne fait pas partie de ces programmes.

enter image description here

Comment puis-je exécuter la fenêtre de commande en tant qu'administrateur par défaut (même si vous utilisez l'option de menu contextuel "Ouvrir la fenêtre de commande ici")?


95
2017-07-25 13:57


origine


Pourquoi ne pas simplement changer UAC pour élever uniquement? - surfasb
Je ne vois pas d'option "élévation uniquement" sur mon curseur UAC. Faites-vous référence à quelque chose en dehors de la fenêtre Paramètres de contrôle de compte d'utilisateur? - Kevin
Je pense que son temps marteau ... - ThunderToes


Réponses:


Pour répondre à la première partie de votre question, lorsque vous appuyez sur la touche Windows et tapez "CMD", vous pouvez cliquer sur Ctrl + Décalage + Entrer ouvrir en tant qu'administrateur.

Pour répondre à la deuxième partie de votre question, collez le texte suivant dans le bloc-notes et enregistrez-le avec une extension ".reg":

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Open Command Window Here as Administrator"

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

Ensuite, exécutez le fichier. Il fusionnera les modifications dans le registre et ajoutera l'option à vos menus contextuels. (Aucune touche de changement nécessaire.)


84
2017-07-25 14:12



Remarque; vous devrez toujours accepter l'invite UAC dans les deux cas. - Synetech
La modification du registre ne fonctionne pas dans Windows 8. - Biker John
Le correctif de registre fonctionne pour Server 2012 R2 - fiat
Cela n'a pas fonctionné pour moi sur Windows 7 - Hello Universe
Si vous ne voyez pas la commande après avoir exécuté le fichier reg, déconnectez-vous de Windows et reconnectez-vous. - trebormf


De nombreux programmes vous permettent de modifier définitivement leur niveau de privilège par défaut à partir du menu Propriétés. L'invite de commandes ne fait pas partie de ces programmes.

le Compatibilité l'onglet est complètement désactivé pour tout des exécutables de Windows:

enter image description here

Pour définir les privilèges d'administrateur pour les exécutables Windows, vous devez créer un raccourci et utiliser Raccourci onglet →Advanced (l'élément d'invite de commande du menu Démarrer est déjà un raccourci):

enter image description here

La fenêtre s'ouvre toujours dans C: \ windows \ system32, plutôt que dans mon répertoire Users (comme dans la technique approuvée 1) ou dans le dossier dans lequel je veux être (comme dans la technique approuvée 2). Je dois donc souvent changer de répertoire pour arriver là où je veux aller.

C'est normal et logique puisque si vous ouvrez une invite de commandes admin, vous effectuez probablement des actions système pour lesquelles vous avez besoin de privilèges d'administrateur plutôt que des actions utilisateur pour lesquelles vous disposez déjà des autorisations.

Vous pouvez définir le répertoire par défaut globalement en ajoutant / modifiant le Autorun entrée de registre (il ne doit même pas être une chaîne extensible pour utiliser les variables d'environnement):

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"Autorun"="cd /d \"%userprofile%\""

Maintenant, chaque fois que vous ouvrez une invite de commande en utilisant n'importe quelle méthode sera automatiquement par défaut (bien, techniquement changer de répertoire) dans votre répertoire de profil utilisateur.

Mieux encore, vous pouvez ajouter d’autres commandes à exécuter automatiquement chaque fois que vous ouvrez une invite de commande & opérateur (par exemple, cd /d %userprofile% & cls & dir). En outre, vous pouvez définir la même valeur dans la même clé sous le HKLM branche pour le définir pour tous les utilisateurs.


Notez que vous devrez toujours accepter l'invite UAC. Malheureusement, il n'existe (actuellement?) Aucun moyen de créer une "liste blanche" de programmes sécurisés afin que l'invite de commandes puisse être exécutée en tant qu'administrateur sans devoir accepter l'invite. Cela vous laisse (a) peu d'options.

  • Vous pouvez désactiver ou désactiver complètement le contrôle de compte d'utilisateur (useraccountcontrolsettings.exe)
  • Vous pouvez utiliser un programme d'élévation de privilèges comme Ascenseur aka Elevate Me ou la Altitude PowerToy
  • Créer une élévation prévu  tâche, entrez les informations d'identification (une fois) pour cela, puis créez un raccourci vers la tâche

Dans le premier cas, vous évitez complètement le contrôle de compte d'utilisateur, tandis que dans les deux derniers, vous entrez vos informations d'identification une seule fois lors de la création du raccourci.


37
2017-07-25 14:56



Il y a un problème avec le réglage du répertoire actuel via Autorun. Avec cette valeur définie, cd /d "%userprofile%" Autoruns non seulement lors de l'ouverture d'une nouvelle fenêtre de console, mais aussi à chaque fois qu'un nouveau thread d'exécution est appelé. Cela peut causer des problèmes, par exemple, avec for /f boucles. Essayez ceci à l'invite cmd: cd "\Program Files" puis for /f "delims=" %I in ('cmd /c cd') do @echo %I. Vous verrez le for /f loop pense que son répertoire de travail actuel est $ home, et non Program Files. Il est plus sûr de modifier le cmd raccourci et définir la cible comme "%comspec%" /k cd /d "%userprofile%". - rojo
Si vous souhaitez conserver la version de Windows et les informations de copyright lors de l'ouverture d'une nouvelle fenêtre de console, définissez la cible du raccourci sur %comspec% /c cd /d "%USERPROFILE%" & %comspec% - rojo
+1 pour la réponse d'édition sans registre. L'autre réponse aurait pu être correcte en 2012, mais je ne veux pas l'essayer sur Windows 10 aujourd'hui. - Alan


La solution que j'utilise consiste à ouvrir l'invite de commande en ouvrant le menu Démarrer, en tapant "cmd" et en appuyant sur Ctrl+Décalage+Entrer. Cela provoquera le lancement du programme sélectionné en tant qu'administrateur.


18
2017-11-13 07:15



Existe-t-il une alternative qui ne nécessite pas de "recherche"? (parce que d'après ce que je sais, les mots saisis dans la boîte font effectivement des recherches) - Pacerier
Une autre façon de savoir est la réponse de Luke, désactiver UAC. La recherche de cmd est assez rapide, ne parvient même pas à appuyer sur Ctrl + Maj + Entrée avant de la trouver. - Dracs
Je le fais tout le temps sur les ordinateurs des clients. CMD est très rapide - Canadian Luke
Est-ce que cela le chargera en tant qu'administrateur? - barlop
@barlop Oui, cette touche de raccourci (Ctrl + Maj + Entrée) lancera le programme en surbrillance dans le menu Démarrer en tant qu'administrateur. - Dracs


Pour exécuter automatiquement CMD en tant qu'administrateur chaque fois qu'il est simplement cliqué (sans devoir cliquer avec le bouton droit de la souris ou créer des raccourcis supplémentaires), il existe une solution simple à ce problème:

  1. dans le Éditeur de registre, aller vers:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

    • S'il n'y a pas un Layers dossier, vous devrez en créer un et le nommer:
      Cliquez avec le bouton droit sur le AppCompatFlags sélection du dossier Nouveau → Clé
  2. Clic-droit Layers, sélectionnez Nouveau → Valeur de chaîne. Définissez le nom de votre nouvelle valeur de chaîne sur le chemin d'accès complet à (CMD.EXE) invite de commande (c'est-à-dire C:\Windows\System32\cmd.exe)

  3. Double-cliquez sur la nouvelle valeur de chaîne pour la modifier et définissez la valeur "Données de valeur" à RUNASADMIN.

J'ai eu le même ennui et cela a fonctionné pour moi.


12
2018-03-10 22:08





Si vous souhaitez que CMD.exe soit toujours exécuté en tant qu'administrateur, il suffit d'ajouter le code de configuration ci-dessous à votre registre:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\cmd.exe"="~ RUNASADMIN"
"C:\\Windows\\SysWOW64\\cmd.exe"="~ RUNASADMIN"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\cmd.exe"="~ RUNASADMIN"
"C:\\Windows\\SysWOW64\\cmd.exe"="~ RUNASADMIN"

10
2018-01-04 17:10



Cela a fonctionné pour moi sur Windows 8.1. Maintenant, je viens d'appuyer sur Windows-R, cmd, Entrée. Il fonctionne également pour ouvrir une fenêtre de commande à partir de l'Explorateur de fichiers via Shift-RightClick> Ouvrir la fenêtre de commande ici. - Troy Gizzi
Si cela fonctionne, c'est la bonne réponse, malgré la version beaucoup plus longue actuellement acceptée. - Xodarap777
Cela fonctionne aussi pour Windows 10. Mettre le contenu dans le bloc-notes, l'enregistrer avec une extension .reg et l'exécuter - Chris Halcrow


Le moyen le plus simple de contourner le chagrin du contrôle de compte d'utilisateur est de configurer une entrée de planification des tâches pour exécuter cmd.exe en utilisant les privilèges les plus élevés. Ne créez pas un événement Trigger et assurez-vous que la case à cocher Autoriser la tâche à exécuter à la demande est activée dans l'onglet Paramètres. Toujours dans l'onglet Paramètres, assurez-vous que la liste déroulante "Si la tâche est déjà en cours d'exécution, puis la règle suivante s'applique" est définie sur Ne pas démarrer une nouvelle instance.

Créez ensuite un raccourci vers celui-ci sur votre bureau et exécutez-le à partir de là ou via un raccourci clavier ou épinglez le raccourci dans la barre des tâches.

Je l'ai fait sur mon système Windows 7 et cela fonctionne parfaitement.


4
2017-09-25 01:03



Oups, j'ai oublié de spécifier une chose importante. Voici le chemin cible du raccourci vers la tâche. C: \ Windows \ System32 \ schtasks.exe / exécuter / TN "invite de commande sans UAC". Le texte à l'intérieur des guillemets correspond à ce que vous nommez la tâche lorsque vous créez la tâche. - Peter Wills
ne joignez pas votre email dans vos réponses - BlueBerry - Vignesh4303


Il y a eu quelques outils que j'ai utilisés qui étaient d'autres solutions de contournement (en plus de ce que Jesse a mentionné).

À la sortie de Vista, Microsoft a sorti un "élever"PowerToy qui était très utile et qui a fait le travail et je crois (n’a pas testé) fonctionne pour Windows 7. Déposez-le dans votre environnement de chemin et vous pouvez lancer" elevate iisreset "à partir d’une invite de commande normale (ou même cmd "depuis le début / la fin ou un raccourci)


3
2017-07-25 14:31





Copiez et collez simplement cmd.exe et renommez-le "cmda.exe" dans le dossier \ system32 \ (337 Ko n'est même pas une grosse affaire ...). L'option "Exécuter en tant qu'administrateur" dans les propriétés de cmda.exe ne sera plus grisée et vous pouvez la définir pour qu'elle soit toujours exécutée en tant qu'administrateur. Vous avez maintenant deux invites de commandes: la première est régulière, la seconde a un privilège (a) dmin. Il est aussi facile de taper "cmda" dans Gagner barre de recherche comme vous le faites avec "cmd"!

Pour le menu contextuel cmd in avec le privilège administrateur, assurez-vous que cmda.exe est déjà en place, ajoutez-le dans le nouveau fichier .reg et lancez-le

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmda]
@="Open command window here (Administrator)"
"HasLUAShield"=""
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmda\Command]
@="cmda.exe /s /k pushd \"%V\""

Vous verrez deux mêmes lignes dans le menu contextuel (décalage); une invite de commande non élevée et une autre avec "(administrateur)" ont été ajoutées.

C'est tout...


2
2017-09-23 10:28





Créez un raccourci vers cmd.exe, cliquez avec le bouton droit de la souris et sélectionnez les propriétés. Dans l'onglet Raccourci, sélectionnez Avancé, cochez Exécuter en tant qu'administrateur.


1
2017-07-25 16:59





Je pense que le moyen le plus simple de toujours exécuter cmd en tant qu'administrateur est de créer le fichier .reg avec le code ci-dessous:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
@="C:\\Windows\\System32\\cmd.exe"="RUNASADMIN"

Collez-le dans le bloc-notes ou quelque chose et enregistrez en tant que fichier .reg. Remarque: Cela permet à l'invite de commande d'être exécutée en tant qu'administrateur pour tous les utilisateurs. Pour toujours exécuter en tant qu'administrateur uniquement sur votre utilisateur, il suffit de remplacer HKEY_LOCAL_MACHINE par HKEY_CURRENT_USER.


1
2017-12-15 03:45