web-dev-qa-db-fra.com

Comment définir des variables d'environnement utilisateur dans Windows Server 2008 R2 en tant qu'utilisateur normal?

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.

67
likm

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

83
AlexCode

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.

65
likm

Instructions étape par étape:

  • Accédez à Panneau de configuration\Système et sécurité\Système.
  • Cliquez sur Modifier les paramètres
  • Allez à l'onglet "Advance"
  • Cliquez sur Variables d'environnement
21
Edgard Concha

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.

5
h0r41i0

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
3
TimT

En ligne de commande Invite:

set __COMPAT_LAYER=RUNASINVOKER
SystemPropertiesAdvanced.exe

Vous pouvez maintenant définir des variables d'environnement utilisateur.

2
excitoon

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.

2
salim ali

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.)

0
user3347790