Nous avons couvert l'excellent outil de ligne de commande polyvalent NirCmd de Nirsoft plus tôt. Ce post parle des nouveaux commutateurs de ligne de commande ajoutés dans la version actuelle de NirCmd. Plus tôt ce mois-ci, j'ai envoyé une demande de fonctionnalité NirCmd à Nir Sofer, demandant d'inclure un commutateur "élévation", qui devrait lancer une application élevée (Windows Vista, Windows 7 et 2008.) Nir a eu la gentillesse d'intégrer cette fonctionnalité dans l'immédiat mise à jour de la version (v2.40). Plus tard, une autre mise à jour, pour corriger un bogue que j'ai signalé, la v2.41 a été publiée.
NirCmd v2.40 et supérieur comprend les commutateurs «elevate» et «elevatecmd» pour exécuter et exécuter des commandes avec des droits d'administrateur sous Windows 7 / Vista / 2008. Voici quelques utilisations utiles de cet outil tout-en-un.
Bien sûr, vous verrez la boîte de dialogue d'élévation du contrôle de compte d'utilisateur lorsque vous utilisez NirCmd avec des commutateurs «elevate» ou «elevatecmd». Il n'y a aucun moyen de contourner cela sans désactiver l'UAC ou sans assouplir les paramètres UAC.
Lancer une application élevée («Exécuter en tant qu'administrateur»)
Pour lancer une application, dites Bloc-notes en tant qu'administrateur, utilisez le raccourci / commande suivant dans la boîte de dialogue Exécuter:
nircmd elevate notepad.exe
ou en incluant le chemin complet:
nircmd elevate c: \ windows \ system32 \ notepad.exe
Si le chemin contient des espaces, placez-le entre guillemets doubles. Par exemple:
nircmd elevate "C: \ Program Files \ Windows NT \ Accessories \ wordpad.exe"
Lancer une application élevée et passer un paramètre
OMI, c'est probablement la chose la plus nécessaire dans Windows 7 et Windows Vista. Windows vous permet d'exécuter une application élevée en cliquant avec le bouton droit sur le raccourci ou l'exécutable et en choisissant «Exécuter en tant qu'administrateur». Cependant, il n'y a aucune option pour passer un paramètre à l'application élevée.
Exemple # 1 - Modifier le fichier HOSTS
Pour créer un raccourci pour éditer le fichier HOSTS (vous devrez élever l'éditeur pour écrire dans HOSTS), vous utilisez cette commande:
nircmd elevate Bloc-notes "C: \ Windows \ System32 \ Drivers \ Etc \ HOSTS"
Exemple # 2 - Enregistrer ou désinscrire une DLL
Vous souhaitez enregistrer / désinscrire un fichier DLL ou OCX rapidement, sans avoir à ouvrir d'abord l'invite de commande (en tant qu'administrateur)? Utilisez cette commande à partir de Démarrer / Exécuter:
nircmd elevate regsvr32 c: \ windows \ system32 \ jscript.dll
Exemple # 3 - Prendre possession d'un fichier ou d'un dossier
Pour prendre possession d'un dossier, utilisez:
NirCmd elevate cmd / k takeown / f / r / dy
Suivi par ICacls pour attribuer des autorisations.
NirCmd elevate cmd / k icacls / administrateurs de subventions: F / T
(L' utilisation de TakeOwn et ICacls pour les fichiers / dossiers est expliquée dans notre article Comment s'approprier un fichier ou un dossier à l'aide de la ligne de commande dans Windows. )
Exemple # 4 - Ouvrez une invite de commande élevée dans un dossier spécifié
Lorsque vous ouvrez une invite de commandes élevée à l'aide du menu Démarrer ou à l'aide du raccourci d'invite de commandes, le répertoire de démarrage par défaut est C: \ Windows \ System32. Vous utilisez la commande CD pour passer à un autre répertoire. À l'aide de NirCmd, vous pouvez ouvrir une fenêtre d'invite de commandes élevée mentionnant le répertoire de démarrage (par exemple D: \ Test, dans cet exemple).
nircmd elevate cmd.exe / k cd / d "D: \ Test"
Le commutateur «Elevatecmd»
Comme indiqué précédemment, un commutateur elevatecmd a également été ajouté à NirCmd. Notez que cela est différent du commutateur de ligne de commande elevate. Le commutateur elevatecmd exécute une commande NirCmd (commandes internes de NirCmd) avec des droits d'administrateur.
Écriture dans le registre à l'aide de NirCmd
L'écriture dans HKEY_LOCAL_MACHINE nécessite une élévation, et vous devrez utiliser elevatecmd si vous utilisez le commutateur «regsetval» de NirCmd pour écrire dans une valeur de registre.
NirCmd elevatecmd regsetval sz "HKLM \ Software \ Test" "Value1" "test-data"
Cela écrit les données «test-data» sous la valeur de Registre «Value1» dans la clé de Registre ci-dessus.
Téléchargez NirCmd - outil de ligne de commande Windows depuis NirSoft. Reportez-vous également au Guide de référence des commandes NirCmd pour tirer le meilleur parti de cet outil.