%username% 变量在哪里定义?

Wik*_*itz 4 windows environment-variables

我刚刚在 Windows 7 主机上的虚拟机中安装了 Windows XP。我无法更改用户名环境变量:

USERNAME=Owner
Run Code Online (Sandbox Code Playgroud)

我成功更改了变量,USERDOMAIN因为它是在控制面板的系统属性中定义的。但我无法弄清楚在哪里USERNAME定义。我想知道修改它是否会对变量产生影响:

USERPROFILE=C:\Documents and Settings\Owner
Run Code Online (Sandbox Code Playgroud)

我在我的用户帐户中更改了我的用户名,但它对系统变量没有影响USERNAME

Syn*_*ech 8

环境变量USERNAME在注册表项中定义HKEY_CURRENT_USER\Volatile Environment

但是请注意,正如键名所暗示的那样,该键中的变量是volatile,这意味着虽然用户可以更改它们,但它们不会保留其新值,并且会被系统用派生值覆盖(有点像注册表 RAM)。该username环境变量是不能设置,或者即使他们是几个变量之一,他们不会“大棒”,随便怎么样在控制台会话设置变量,当你打开一个新的丢失。

它应该使用新的用户名更新变量。您是否尝试过注销并重新登录或重新启动系统?


您在哪里/如何更改用户名,用户帐户控制面板小程序?该用户帐户只小程序更改用户的名称,而不是实际的用户名。用于lusrmgr.msc通过单击用户名、按 F2 并更改它来修改用户名(然后注销/登录或重新启动)。

如果这不起作用,则在注册表中搜索旧/原始用户名并在那里更改它(s?)。检查以下键:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
Run Code Online (Sandbox Code Playgroud)