it-swarm-fr.com

Comment puis-je modifier la variable d'environnement PATH d'un utilisateur sans me déconnecter?

La question dit à peu près tout; J'ai des utilisateurs qui ne sont pas autorisés à modifier leur propre variable d'environnement PATH et s'ils ont besoin de la faire modifier pour une raison quelconque, ils doivent se déconnecter pour qu'un administrateur puisse se connecter et modifier la PATH pour eux, avant que l'utilisateur ne se reconnecte. Ce n'est pas idéal. Peut-on le faire d'une meilleure manière?

24
ninesided

Vous pouvez toujours invoquer un shell cmd avec des droits d'administrateur (ou toute autre méthode runas) et utiliser un outil tel que SETX pour modifier le chemin de façon permanente. Les shells existants et/ou les programmes en cours d'exécution utiliseront probablement l'ancien chemin, mais tout nouveau Shell/programme utilisera les nouveaux paramètres.

6
Berzemus

Pour les comptes sans privilèges d'administrateur:

Ouvrez "Comptes d'utilisateurs" et choisissez "Modifier mes variables d'environnement" ( http://support.Microsoft.com/kb/931715 ).

Cette boîte de dialogue vous montrera vos variables utilisateur actuelles ainsi que les variables système. Vous devrez peut-être ajouter une variable PATH locale si vous ne l'avez pas déjà fait.

Pour mettre à jour votre chemin pour inclure le répertoire Python 3.3, par exemple, cliquez sur Nouveau:

Nom de la variable: PATH Valeur de la variable:% PATH%; C:\Python33

Cela crée un CHEMIN local en prenant le CHEMIN actuel du système et en y ajoutant.

25
Curtis Nelson

Poste de travail/Propriétés/Avancé/Variables d'environnement. Les modifications prennent effet immédiatement sauf pour les fenêtres d'invite de commandes déjà ouvertes. Pas besoin de se déconnecter et de se reconnecter.

REMARQUE: Si vous n'avez pas accès à cette fenêtre, vous pourrez peut-être l'obtenir en exécutant rundll32 sysdm.cpl,EditEnvironmentVariables à partir de la fenêtre Exécuter ou de la ligne de commande.

11
John Gardeniers

Dans une invite de commande, vous pouvez faire:

set PATH=C:\somedir;%PATH%

mais cela ne le change que pour l'invite de commande (et toutes les applications lancées à partir de l'invite de commande). En supposant que vous souhaitez que cela s'applique à tout ce que l'utilisateur fait, vous modifiez les variables d'environnement des utilisateurs. Cliquez avec le bouton droit sur Poste de travail, Propriétés, Avancé, Variables d'environnement et dans "Variables utilisateur pour ajouter une variable:

PATH = C:\whatever

Lorsque l'utilisateur se connecte, cela est ajouté au chemin d'accès à l'échelle du système.

4
John Rennie

L'utilisateur peut définir une variable PATH à une invite de commande qui remplacera la variable PATH à l'échelle du système, même si l'utilisateur n'a pas les droits "Administrateur". La modification prendra effet pour les nouveaux processus que l'utilisateur démarre à partir de cette invite de commande. (Le processus Explorer existant et tout autre processus que l'utilisateur exécute lorsque la modification est apportée ne "verront" pas la modification.)

2
Evan Anderson

En plus des réponses ci-dessus, vous pouvez également mettre à jour le registre (ce qui a l'avantage d'être scriptable):

La variable PATH est stockée dans HKEY_CURRENT_USER\Environment.

Pour lire le chemin actuel:

reg query HKEY_CURRENT_USER\Environment /v PATH

Pour ajouter une valeur c:\somedir au chemin:

reg add HKEY_CURRENT_USER\Environment /v PATH /d "%PATH%;c:\somedir"

Notez que les processus lisent l'environnement lors de leur lancement, vous devrez donc redémarrer le processus pour qu'il obtienne le nouveau chemin.

Mise à jour: Une autre façon que j'ai trouvée est d'exécuter:

rundll32 sysdm.cpl,EditEnvironmentVariables

Encore une fois, cette applet modifie le registre et a le même effet que ci-dessus.

1
Kristopher Noronha