où est défini% nom d'utilisateur% variable?

4

Je viens d'installer Windows XP dans ma virtualbox sur l'hôte Windows 7. Je ne peux pas changer la variable d'environnement de nom d'utilisateur:

USERNAME=Owner

J'ai réussi à changer la variable USERDOMAIN car il est défini dans les propriétés du système dans le panneau de configuration. Mais je ne peux pas savoir où USERNAME est défini. Je me demande si sa modification aura un impact sur la variable:

USERPROFILE=C:\Documents and Settings\Owner

J'ai changé mon nom d'utilisateur dans mon compte utilisateur mais cela n'a aucun effet sur la variable système USERNAME.

WikiWitz
la source

Réponses:

7

La variable d'environnement USERNAME est défini dans la clé de registre HKEY_CURRENT_USER\Volatile Environment.

Notez cependant que comme le nom de clé l’implique, les variables de cette clé sont volatil Cela signifie que même si l’utilisateur peut les modifier, il ne conservera pas ses nouvelles valeurs et sera écrasé par le système avec des valeurs dérivées (un peu comme la RAM du registre). le username La variable d'environnement est l'une des rares variables qui ne peuvent pas être définies, ou même si elles le sont, elles ne "colleront" pas, tout comme la définition d'une variable dans une session de console est perdue lorsque vous en ouvrez une nouvelle.

Il convient de mettre à jour la variable avec le nouveau nom d'utilisateur. Avez-vous essayé de vous déconnecter et de vous reconnecter ou de redémarrer le système?


Où / comment avez-vous changé le nom d'utilisateur, le Comptes utilisateur Panneau de configuration? le Comptes utilisateur l'applet ne change que le nom d'utilisateur , pas le réel Nom d'utilisateur . Utilisation lusrmgr.msc pour modifier le nom d'utilisateur en cliquant dessus, en appuyant sur F2 et en le modifiant (puis déconnectez-vous / connectez-vous ou redémarrez).

Si cela ne fonctionne pas, recherchez dans l'ancien registre le nom d'utilisateur ancien / d'origine et modifiez-le à cet emplacement. Vérifiez les clés suivantes:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
Synetech
la source
Je me suis déconnecté et redémarré mais toujours le même. C'est étrange. Je n'ai pas de valeur USERNAME dans le registre de Windows XP dans Virtualbox, mais j'ai ce CLIENTNAME, mais il n'a pas de valeur. J'ai le USERN reg_sz dans mon hôte Windows 7 mais pas dans xp.
WikiWitz
Hmm, ils doivent l'avoir supprimé dans XPSP2. De toute façon, ce n'est pas quelque chose que vous pouvez définir. C'est une variable d'environnement éphémère / transitoire / dynamique. En d'autres termes, le système d'exploitation le configure chaque fois que vous vous connectez, en fonction de l'utilisateur actuellement connecté. Vous voudrez oublier d’essayer de trouver / changer la variable car ce n’est pas quelque chose qui resterait même si vous pouviez la changer Je mettrai à jour ma réponse pour donner une idée de quelque chose d’autre pour accomplir ce que vous voulez…
Synetech
1
Merci là-bas. L'utilisation de lusrmgr.msc pour modifier la variable d'environnement USERNAME l'a modifiée de manière permanente. Dans la mesure où USERNAME n’existe pas sous la clé d’environnement volatile, il n’est pas volatile dans mon OS invité Windows XP. Cependant, dans mon hôte Windows 7, il se trouve sous cette clé de registre et est modifié automatiquement par le système d'exploitation. Et au fait, Synetech. C’est le "USERDOMAIN" que j’ai pu modifier dans le panneau de configuration. Pour savoir si la variable USERPROFILE sera affectée par le changement de la variable USERNAME, j'ai trouvé cet article: & lt; en.wikipedia.org/wiki/Microsoft_Windows_profile>
WikiWitz
Si vous voulez changer le USERPROFILE variable, puis localisez le compte cible dans la clé de registre HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList et changer le ProfilesDirectory puis déconnectez-vous et redémarrez et Windows doit la mettre à jour.
Synetech
Que veux-tu dire par là? La valeur dans mon registre est% systemdrive% \ users. Et USERPROFILE n'est pas modifiable. Il est permanent même si vous modifiez la variable USERNAME.
WikiWitz