C# 如何在调用ManagementScope.Connect()时排除UnauthorizedAccessException故障

C# 如何在调用ManagementScope.Connect()时排除UnauthorizedAccessException故障,c#,.net-4.0,wmi,access-denied,dcom,C#,.net 4.0,Wmi,Access Denied,Dcom,我正在寻找从系统收集更多关于远程WMI调用失败原因的信息的方法 中的详细步骤很有帮助,但可能是我不小心遗漏了一些内容,或者需要为我的环境配置更多的内容 当我运行.NET 4.0 C#代码(下面的代码片段)时,我看到以下异常: System.UnauthorizedAccessException发生消息=访问权限为 否认。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED)) Source=System.Management StackTrace: 在System.Ma

我正在寻找从系统收集更多关于远程WMI调用失败原因的信息的方法

中的详细步骤很有帮助,但可能是我不小心遗漏了一些内容,或者需要为我的环境配置更多的内容

当我运行.NET 4.0 C#代码(下面的代码片段)时,我看到以下异常:

System.UnauthorizedAccessException发生消息=访问权限为 否认。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))
Source=System.Management StackTrace: 在System.Management.ThreadDispatch.Start()中 在System.Management.ManagementScope.Initialize()中 在System.Management.ManagementScope.Connect()中 在

这是发生错误的代码。调用时引发异常

代码正在Windows 7计算机上运行,WMI连接的目标是Windows XP计算机。注意:如果我颠倒这两个角色,我会看到类似的问题

我没有在目标计算机的安全日志中看到任何错误

如果我将其凭据正在使用的用户添加到目标计算机上的Administrators组,则对
Connect()
的调用会成功,因此问题似乎确实是由于尚未授予特权或访问权限造成的

通常,当遇到拒绝访问错误时,我可以在日志中找到提供更多详细信息的条目,或者可以运行regmonfilemon来捕获一些有用的信息。但是有了这个WMI/DCOM错误,我不知道还能在哪里找到更多信息

非常感谢您的任何建议


更新:我使用进行了测试,发现访问也被拒绝,除非我以管理员身份运行。我正在尝试继续使用此工具以进一步隔离问题。

目标计算机上的事件日志中是否有任何内容?此处可能有一些线索:目标计算机上的事件日志中是否有任何内容?此处可能有一些线索:
var scope = new ManagementScope("\\\\HOSTNAME\\root\\cimv2")
{
    Options =
    {
        Impersonation = ImpersonationLevel.Impersonate,
        Password = "password",
        Username = "domain\\username"
    }
};

scope.Connect();