远程注册表

时间:2011-06-06 13:49:17

标签: c# registry remote-registry

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

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

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

如何使用代码连接到远程PC,我们将不胜感激。

1 个答案:

答案 0 :(得分:4)

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

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