使用c#在远程计算机上读写注册表

时间:2015-07-13 07:37:01

标签: c# registry remote-access

首先,我正在尝试从远程计算机读取注册表项。我已经看过this example如何做到这一点。所以我的代码看起来像这样:

string server = "myServer";
NetworkShare share = new NetworkShare(server, "ipc$");
share.Connect();

string name = "";
RegistryKey key = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, server);

if (key != null)
{
    key = key.OpenSubKey(@"Software\Policies\Microsoft\Windows\System");

    if (key != null)
    {
        name = key.GetValue("DisableCMD").ToString();
    }
}

MessageBox.Show(name);
share.Disconnect();

但在行key = key.OpenSubKey(@"Software\Policies\Microsoft\Windows\System");之后,RegistryKey key设置为null。我检查了关键路径 - 它存在。我无法弄清楚出了什么问题。

其次,我正在尝试编写远程注册表项。我认为它非常类似于阅读键。我尝试了SetValue()方法,但这会引发System.UnauthorizedAccessException: Cannot write to the registry key例外。

建议赞赏:)

0 个答案:

没有答案