访问另一个用户的 HKEY_CURRENT_USER 注册表分支

访问另一个用户的 HKEY_CURRENT_USER 注册表分支

我正在寻找一种方法来访问计算机上其他用户的注册表,以便我可以复制它们。

我的想法是,尝试让一个复杂的 Delphi 应用程序在多个配置文件上编译和运行。

我曾经找到过使用某些 Windows 管理工具来实现此目的的方法,但现在找不到了。

我不知道其他用户的密码,所以我无法以他们的身份登录或执行“以...身份运行”。

答案1

您可以使用 regedit 来实现这一点。打开 regedit 并选择 HKEY_USERS,然后转到文件->加载配置单元。浏览到用户配置单元文件,通常是位于 %userprofile% 的 NTUSER.DAT。

当然,这要求您是管理员或有权访问用户配置单元文件。

答案2

如果您想要进行基本配置文件复制,我更喜欢使用 Windows XP 中的用户配置文件复制功能。为此,您将需要两个帐户。我通常使用自己的帐户和一个通用本地管理员帐户。首先,使用所需的所有注册表设置和修复来配置您自己的帐户。然后,重新启动计算机(强制所有程序释放对 ntuser.dat 文件的控制)并登录通用管理员帐户。进入 Windows 后,右键单击“我的电脑”并转到属性。在“高级”选项卡下,您将看到带有设置按钮的“用户配置文件”部分。按下该按钮时,将出现所有本地存储的配置文件的列表。从这里,您可以将一个配置文件复制到另一个配置文件。您所要做的就是将 ntsuer.dat 文件的位置输入“C:\Documents and Settings\exampleuser”。

这个工具虽然简单,但效果却出奇地好。我发现这是实现默认注册表设置的绝佳方法。您可以将您的配置文件复制到“默认用户”,然后所有未来的用户都将获得这些设置。我通常使用 delprof 之类的工具来清除所有用户,将我的配置文件复制到默认用户,然后让其他用户重新登录。在开始之前,请确保备份所有本地存储的数据。

它比使用 regedit 危险性小很多,因为您可以获取一个工作配置文件并复制它。主要缺点是即使这样,某些程序仍然无法正常工作。虽然这主要是由于代码设计不当。

希望这可以帮助

答案3

使用 regedit,如果您对远程计算机具有管理权限,则可以选择文件...连接网络注册表,然后键入名称或搜索要连接到的计算机。

相关内容