在c#中,如何在特定用户的远程注册表中访问?

时间:2012-06-15 21:17:58

标签: c# .net windows-forms-designer remote-access remote-registry

以下是我用于访问远程注册表的代码:

    private void getAllOdbc(string pc)
    {
        RegistryKey regKey;

        regKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, pc.ToString(), RegistryView.Registry64).OpenSubKey("SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources");
    }

我想访问具有远程计算机权限的特定用户的远程注册表。

当我从我自己的计算机启动此Windows窗体应用程序时,它可以正常工作,因为我已经登录了具有远程计算机权限的特定用户,但我将不得不在未登录的其他计算机上使用此应用程序与此特定用户一起使用。

所以我想在我的代码中插入一些东西来告诉我的应用程序访问这个特定用户的远程注册表,就像这样任何人都可以使用我的应用程序而不用这个特定的用户登录。

我已经允许远程计算机上的远程注册表服务。

1 个答案:

答案 0 :(得分:0)

在您可以在远程主机上打开自己的注册表数据之前,您可能必须拥有线程impersonate the user