Dans les anciennes versions de Windows, il suffisait d'ouvrir le Panneau de configuration, de sélectionner l'applet Système, de sélectionner l'onglet Avancé, puis de cliquer sur le bouton Variables d'environnement. En tant qu'utilisateur normal, vous pouvez éditer les "variables utilisateur" mais pas les "variables système".
Dans Windows Server 2008 R2, si j'essaie d'appuyer sur l'option Paramètres système avancés de l'applet Système, elle vous invite à entrer le mot de passe de l'administrateur.
Vous pouvez également utiliser cette ligne de commande directe pour ouvrir les propriétés système avancées:
sysdm.cpl
Ensuite, allez dans l'onglet Avancé -> Variables d'environnement
OK je l'ai trouvé. Arg, un exercice de frustration. Ils ont laissé l'ancien chemin de traversée du menu de la fenêtre pour modifier les variables d'environnement, mais l'accès était limité aux administrateurs. En tant qu'utilisateur normal, si vous souhaitez le modifier, vous devez passer par un ensemble d'options différent pour arriver à la même fenêtre.
Panneau de configuration -> Comptes d'utilisateurs -> Comptes d'utilisateurs -> Modifier mes variables d'environnement.
Instructions étape par étape:
Sous "Démarrer", entrez "environnement" dans le champ de recherche. Cela listera l'option pour changer les variables système directement dans le menu démarrer.
Cela peut être fait à partir de la ligne de commande en utilisant la commande SETX
. Par exemple, pour "déplacer" vos fichiers temporaires sur un autre disque:
SETX TEMP d:\tmp
En ligne de commande Invite:
set __COMPAT_LAYER=RUNASINVOKER
SystemPropertiesAdvanced.exe
Vous pouvez maintenant définir des variables d'environnement utilisateur.
J'ai créé un dossier en mode divin sur le bureau. créez simplement un nouveau dossier sur le bureau et appelez-le GodMode. {ED7BA470-8E54-465E-825C-99712043E01C} il nommera le dossier comme étant godmode et remplira le contenu avec diverses options de configuration; vous pourrez alors taper ENVIRO dans la recherche. pour trouver l'option de configuration appropriée, ouvrez-la et ouvrez sysdm.cpl dans l'onglet Avancé, vous pouvez modifier les variables d'environnement à partir de cet emplacement.
Il y a trois façons
1) Ceci exécute l’éditeur graphique pour les variables d’environnement utilisateur. Il fait exactement ce que le PO voulait faire et ne demande pas d'informations d'identification administratives.
rundll32.exe sysdm.cpl,EditEnvironmentVariables
(bonus: cela fonctionne de Windows Vista à Windows 10 pour les ordinateurs de bureau et de Windows Server 2008 à Server 2016. Il ne fonctionne pas sous Windows NT, 2000, XP et 2003. Toutefois, sur les systèmes plus anciens, vous pouvez utiliser sysdm.cpl sans le Paramètre ", EditEnvironmentVariables", puis sélectionnez l’onglet Avancé, puis le bouton Variables d’environnement.)
2) Utilisez la commande SETX à partir de l'invite de commande. Cela ressemble à la commande set mais met à jour l'environnement qui est stocké dans le registre. Malheureusement, SETX n’est pas aussi facile à utiliser que la commande SET intégrée. Il n'y a aucun moyen de lister les variables par exemple. Il est donc impossible de faire quelque chose comme ajouter un dossier à la variable PATH de l'utilisateur. Alors que SET affichera les variables, vous ne savez pas lesquelles sont des variables utilisateur ou système et le chemin indiqué est une combinaison des deux.
3) Utilisez regedit et accédez à HKEY_CURRENT_USER\Environment
N'oubliez pas que les modifications apportées à l'environnement de l'utilisateur ne se propagent pas immédiatement à tous les processus en cours d'exécution pour cet utilisateur. Vous pouvez le voir dans une invite de commande où vos modifications ne seront pas visibles si vous utilisez SET. Par exemple
rem Add a user environment variable named stackoverflow that's set to "test"
setx stackoverflow test
set st
Cela devrait montrer toutes les variables dont les noms commencent par les lettres "st". S'il n'y en a pas, il affiche "Environment variable st not defined
". Quittez la commande Invite et démarrez-en une autre. Essayez set st
encore et vous verrez
stackoverflow=test
Pour supprimer la variable stackoverflow, utilisez
setx stackoverflow ""
Il répondra avec "SUCCESS: Specified value was saved.
"qui semble étrange étant donné que vous voulez supprimer la variable. Cependant, si vous lancez une nouvelle commande Invite, alors set st
montrera qu'il n'y a pas de variables commençant par les lettres "st"
(correction - j'ai découvert que setx stackoverflow ""
n'a pas supprimé la variable. C'est dans le registre comme une chaîne vide. La commande SET
l'interprète comme s'il n'y avait pas de variable. if not defined stackoverflow echo Not defined
dit que ce n'est pas défini.)