远程注册表

我知道有几次谈到远程注册表访问,但我找不到任何关于如何实现这一点的好例子。

我确实找到http://www.codeproject.com/KB/cs/cpimpersonation1.aspx ,它似乎有代码可以做我想要的,但是,这似乎是连接到运行应用程序的同一台PC。 我想要的是连接到不同域中的远程PC。

我一直在做一些阅读,但无法弄清楚如何修改此代码来做到这一点。

如何使用代码连接到远程PC将获得任何帮助。

您可以从这篇文章开始: RegistryKey.OpenRemoteBaseKey 。 但是,您应该允许您的用户帐户在此远程计算机上使用注册表操作! 模仿并不是解决任务的最佳方式。 LogonUser在调用它的机器上创建新的安全上下文。 这意味着具有访问远程注册表权限的用户也应具有本地登录权限。 这是非常强烈的要求。

我建议替代解决方案:在访问注册表之前,您可以使用WNetAddConnection2使用具有访问注册表的适当权限的用户凭据创建与远程计算机上的IPC $共享的连接。 使用注册表完成工作后,请不要忘记取消连接。