1

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

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

这是其他重要警告的列表。

  • 这是一个 C++ 项目。
  • GetProfilesDirectory 或 GetUserProfileDirectory 似乎无法在远程上下文中操作。如果我对此有误,请告诉我,但在我所有的实验中,该函数都从本地机器返回了一些东西。
  • 我不能使用 WMI,我们尝试了很多次将 WMI 功能集成到我们的项目中,但它没有工作。
  • 我宁愿做尽可能少的“屏幕抓取”。如果您有一个不涉及从某些文本文件读取和解析结果的想法,我很想听听。但我真的很感激任何有用的答案。
  • 注册表中的配置文件目录信息似乎没有用,因为它包含环境变量,并且与 GetProfilesDirectory 一样,环境变量扩展功能似乎不是为与远程主机一起工作而设计的。这意味着如果我从较新的 Windows 机器向较旧的 Windows 机器进行调用,则该解决方案将不起作用,反之亦然。
  • 该解决方案应该足够通用,可以在可能运行从 Windows Server 2003 到 Windows 7 的任何版本的 Windows 的主机之间工作。

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

4

1 回答 1

1

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
于 2012-03-09T03:21:49.090 回答