一位同事最近结婚了,并要求更新她的域用户名以反映她的婚后姓氏。她在 Windows 2003 域上使用 Windows 7 PC。
我知道我可以简单地更新 AD 中的用户名,这在大多数情况下可能就足够了;但是,她电脑上的文件夹结构不会反映这种变化,这可能会给她以后带来困惑:
c:\users\old-username\
除了从头开始在这台电脑上重新创建用户个人资料外,我还能如何纠正用户个人资料中的拼写错误?
答案1
微软对此有一个答案:
两者都以不同的方式提供相同的信息。重要的是,重命名配置文件的路径名需要更新注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
答案2
虽然这里的一切都是正确的,但你们都忽略了一件非常重要的事情:
这不会修复已安装软件的路径,这些软件会将条目写入 \USERS\USERNAME\APPDATA 文件夹。此处的所有条目仍指向旧的用户配置文件名称,这将导致在卸载应用程序或打开应用程序时出现“找不到路径”等问题。此外,您的 Outlook 配置文件还会损坏,天知道还会有什么问题。我最终备份了用户的数据,删除了损坏的配置文件,从头开始为该重命名的用户重新创建了新的配置文件,并恢复了用户的数据。
我发现数百个网站都提供大致相同的重命名用户配置文件文件夹的程序,但所有这些网站都忽略了我提到的内容。我可以说,如果是新创建的配置文件,则此方法非常有效,然后您可以立即重命名用户名:在重命名过程之前无需配置/安装任何东西,在这种情况下,此方法完美无缺!
相信我,我是根据经验告诉你的!我读了很多教程,听起来或多或少很容易做到,但结果却是一场噩梦。
答案3
在“属性编辑器”选项卡上 [Active Directory 用户和组 -> 用户 ->(用户名)-> 属性] 查找名为“objectSID”的属性,并将该数字写在一张纸上,以供日后使用
...
[在用户计算机上以管理员身份登录] 重命名用户配置文件夹:
浏览至 C:\Documents and Settings\isingle 右键单击该文件夹,选择重命名 将文件夹重命名为 C:\Documents and Settings\imarried
更改注册表中的配置文件图像路径:
开始>运行> regedt32 展开到 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList
选择您之前从上面的 ADUC 中记下的正确 SID 在右窗格中,双击 ProfileImagePath 值并将配置文件路径更改为 C:\Documents and Settings\imarried
关闭注册表编辑器,然后重新启动 Windows。
答案4
简而言之,您需要应用更改主注册表项,然后在注册表项和文件中找到替换(我花了 2 个小时)。
开始之前,创建一个还原点并备份您的注册表。确保您要修改的帐户是管理员帐户(您可以将其设置为管理员运行netplwiz
)run
。
+ 第一部分
这部分有详细记录这里(截图)
- 右键单击
C: User/[old_name]
property
选择share with nobody
(可能需要一个小时才能完成) - 在控制面板中创建一个新的管理员帐户,名称为
TempAdmin
(您将只使用它来重命名`C:\Users\[old_name] 文件夹并修改注册表,然后将其删除) - 退出您的帐户并登录该
TempAdmin
帐户。 - 从 TempAdmin 将其重命名
C: User/[old_name]
为“C:User/[new_name]”。 - 在注册表项中,转到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ 搜索包含以下内容的条目
ProfileImagePath
,然后右键单击/修改并用新名称替换旧名称。关闭注册表。
+ 编辑用户账户:
运行 (Ctr+run) netplwiz
: (打开user account
)。选中复选框“用户必须输入用户名和密码才能使用这台计算机”。选择用户帐户的旧名称,然后单击属性按钮。将用户名和全名都更改为新名称。
+ 尝试一下:
重新启动计算机,然后登录您新更改的帐户。(如果没有显示新名称的帐户,请不要担心。可能是因为它没有设置为管理员。只需登录 TempAdmin,然后使用 Windows 将其设置为管理员netplwiz
。
+ 在注册表中查找并替换剩余的“old_name”。
要在注册表中查找(old_name)替换(new_name),您可以使用注册33(开源)。以管理员身份运行。最好不区分大小写地搜索,并多次运行。它只会更改您拥有的密钥(其所有权设置为您的名称)。
然后使用
find
注册表功能查找剩余的 old_name(regedt33 无法编辑受保护的密钥)。在注册表查找功能中取消选中“仅匹配整个字符串”,按 F3 再次查找)。最快的方法是更改权限和母文件夹的所有权,并将其设置为子文件夹可继承*。然后再次运行 regedt33(这次它将能够修改密钥)(编辑:regedt33 存在错误,在某些计算机上它会告诉您它更改了密钥,但实际上并没有。除了卸载并重新安装链接到这些密钥的软件(如 python)之外,我没有找到任何其他(快速)解决方案)您将使用 ccleaner 注册表工具在注册表中找到(一些)剩余的问题(右键单击损坏的键以在注册表中打开它)
+ 查找并替换文件中剩余的“old_name”(主要是您的设置)。
跑步dngrep 作为管理员(开源)。使用它来查找并替换C:\Users\[user]\AppData
和C:\Users\[user]\Desktop
。首先搜索,然后检查是否应该更改内容,如果是,则替换它。(您可以使用右键单击排除文件。在选项中写入 1 作为匹配阈值,以精确搜索 old_name)
+然后修复其他内容:
任务:您需要在调度程序中导出您的任务,修改它们,然后再次导入它们。
检查你的快捷方式(也在启动文件夹中)
(*)编辑:成为管理员是不够的。您需要拥有完全控制权(权限),还需要拥有您修改的密钥的所有权。
要更改权限:右键单击/权限/检查完全控制/确定
要更改所有权:右键单击/权限/高级/单击您的姓名。如果您想为孩子设置权限,请勾选replace all child permission with inheritable permission from this object
。
我还必须禁用防病毒软件,以处理一些棘手的密钥,例如 HomeGroupStuff。我还必须尝试勾选“包括可继承权限...”和“替换所有子对象...”来处理这些密钥。
查找功能似乎不太可靠。我运行了几次(大写、小写等),仍然发现有新的 old_name 需要更改。