无法在C#中将XP Pro机器与另一个(不在域,同一工作组)中建立WMI连接

时间:2009-07-02 20:59:15

标签: c# wmi

我有两台XP Pro SP3机器。我在两者中禁用了防火墙。工作组名称为WORKGROUP。我有一个管理员帐户,两者都有相同的用户名/密码。我的连接代码如下:

    ConnectionOptions options = new ConnectionOptions();
    options.Username = myUsername;
    options.Password = myPassword;
    options.Authority = "ntdlmdomain:WORKGROUP"; // Commenting this or not makes no difference
    ManagementScope scope = new ManagementScope(String.Format("\\\\{0}\\{1}", hostname, Namespace), options);
    scope.Connect();

我总是得到System.UnauthorizedAccessException的文字:

    "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"

上述代码适用于属于同一AD域的两台计算机。我做错了什么?

3 个答案:

答案 0 :(得分:2)

这个问题,全是关于WMI远程访问而与C#无关(我希望你会得到与其他WMI查询工具相同的错误 - 例如,WBEMtest),已多次出现服务器故障:请参阅http://www.google.com/search?q=site%3Aserverfault.com+wmi+access+denied&ie=utf-8&oe=utf-8&aq=t

答案 1 :(得分:0)

这是一个常见的WMI问题。请参阅WMI FAQsecuring remote WMI connections上的文档。

答案 2 :(得分:0)

调整本地安全策略和服务,以允许每个人以及文件夹内选项禁用共享。在这之后,我能够通过WMI连接到工作组中的两台XP机器。