41 votes

Acquisition de privilèges administratifs dans PowerShell

Je n'ai qu'un seul compte sur ma machine Windows Vista, et cet utilisateur dispose de privilèges administratifs. Cependant, lorsque j'essaie d'exécuter une commande dans PowerShell pour arrêter un certain processus, je reçois un message "Accès refusé". Comment puis-je devenir l'administrateur ?

1voto

Mitch McMabers Points 111

La façon facile...

Voici comment mettre en place une commande facile pour obtenir des privilèges administratifs à tout moment, depuis n'importe quelle session PowerShell!

Étape 1 : Ouvrez votre profil PowerShell. (Autorisez notepad à créer le fichier s'il est manquant.)

notepad "$profile"

Étape 2 : Collez l'une des lignes de code suivantes n'importe où dans ce fichier. Choisissez une commande ci-dessous en fonction de la version de PowerShell que vous souhaitez exécuter, et notez que le profil est spécifique à la version, donc vous devez le faire pour chacun de vos profils de version PowerShell différents si vous les exécutez en parallèle.

# PowerShell 5 (ancienne version intégrée à Windows)
function GoAdmin { Start-Process powershell –Verb RunAs }

# PowerShell Core (la dernière version de PowerShell provenant de GitHub)
function GoAdmin { Start-Process pwsh –Verb RunAs }

Étape 3 : Redémarrez PowerShell. La commande est désormais disponible en permanence.

Étape 4 : À tout moment où vous souhaitez passer en mode administrateur, tapez simplement GoAdmin (et ne vous inquiétez pas de saisir la casse correcte; les fonctions PS sont en réalité insensibles à la casse). Vous pouvez bien sûr nommer la fonction autrement, comme Elevate ou autre, mais je ne voulais pas de risque de conflits donc je l'ai nommée avec une phrase de deux mots sans aucun tiret, pour m'assurer qu'elle ne rentrera jamais en conflit avec les fonctionnalités propres à PowerShell.

À noter que la fenêtre d'administrateur s'ouvre dans un shell séparé. Vous pouvez fermer le shell d'origine, ou le laisser ouvert. Si votre travail administratif effectue quelque chose de "gros" comme ajouter/modifier des variables d'environnement, alors votre shell utilisateur (non administratif) peut simplement taper refreshenv pour recharger son environnement et obtenir les modifications. (Remarque : Découvert que refreshenv est fourni par le super gestionnaire de paquets Chocolatey. Tapez Update-SessionEnvironment à la place si vous n'avez pas Chocolatey.)

Donc en gros, juste GoAdmin, effectuez les tâches administratives comme l'installation de paquets (avec https://chocolatey.org/ bien sûr!), puis fermez la fenêtre d'administration et exécutez refreshenv dans votre shell utilisateur! Voilà.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X