我知道关于远程注册表访问已经讨论过几次了,但是我找不到任何关于如何实现它的好例子。
我确实找到了http://www.codeproject.com/KB/cs/cpimpersonation1.aspx,它似乎有可以做我想做的事情的代码,但是,这似乎连接到运行应用程序的同一台 PC。我想要的是连接到不同域中的远程 PC。
我一直在阅读,但不知道如何修改此代码。
任何有关如何使用代码连接到远程电脑的帮助将不胜感激。
我知道关于远程注册表访问已经讨论过几次了,但是我找不到任何关于如何实现它的好例子。
我确实找到了http://www.codeproject.com/KB/cs/cpimpersonation1.aspx,它似乎有可以做我想做的事情的代码,但是,这似乎连接到运行应用程序的同一台 PC。我想要的是连接到不同域中的远程 PC。
我一直在阅读,但不知道如何修改此代码。
任何有关如何使用代码连接到远程电脑的帮助将不胜感激。
您可以从这篇文章开始:RegistryKey.OpenRemoteBaseKey。但是您的用户帐户应该被允许在这台远程机器上使用注册表操作!冒充并不是解决任务的最佳方式。LogonUser 在调用它的那台机器上创建新的安全上下文。这意味着有权访问远程注册表的用户也应该有权在本地登录。这是非常强烈的要求。
我建议替代解决方案:在访问注册表之前,您可以使用WNetAddConnection2使用有权访问注册表的用户凭据在远程计算机上创建与 IPC$ 共享的连接。完成注册表工作后,不要忘记取消连接。