如何远程检索Windows配置文件目录路径?

时间:2012-03-09 03:02:24

标签: c++ windows api profiles

我试图在不同版本的Windows中检索配置文件目录的路径。在可能是[drive]的旧版本中:\ Documents and Settings,在较新的版本中,它的[drive]:\ Users。有几种方法可以在本地执行此操作而不会出现问题,但是我需要在我连接的远程计算机上找到路径。

  • 启用远程注册表。
  • 我有一个模拟令牌,可以通过Net API等从远程主机成功收集信息。
  • 我可以访问管理共享,因此可以访问远程驱动器上的所有文件。

此处列出了其他重要警告。

  • 这是一个C ++项目。
  • GetProfilesDirectory或GetUserProfileDirectory似乎无法在远程上下文中运行。如果我对此有误,请告诉我,但在我的所有实验中,该功能已从本地机器返回。
  • 我无法使用WMI,我们多次尝试将WMI功能集成到我们的项目中,它只是没有用。
  • 我宁愿做一点点"屏幕抓取"尽可能。如果你有一个想法,不涉及从一些文本文件中读取并解析结果,我很乐意听到它。但我真的非常感谢任何有用的答案。
  • 注册表中的配置文件目录信息似乎没有用,因为它包含环境变量,并且像GetProfilesDirectory一样,环境变量扩展功能似乎不适用于远程主机。这意味着如果我从较新的Windows机器到较旧的Windows机器进行呼叫,反之亦然,解决方案将无法工作。
  • 解决方案应该足够通用,以便在可能运行从Windows Server 2003到Windows 7的任何Windows版本的主机之间工作。

提前感谢您提出的任何想法。理想情况下,我希望能够强制GetProfilesDirectory在远程主机上运行,​​所以如果你知道如何做到这一点,我会永远爱你。

1 个答案:

答案 0 :(得分:1)

如果您有权访问远程注册表,您应该能够查看保留配置文件目录和配置文件列表的键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList