WMI 远程连接问题解决方法

来源:互联网 发布:玉溪餐饮软件yxqlkj 编辑:程序博客网 时间:2024/04/30 19:51

 

由于需要用取得远程计算机的信息,采用了WMI的方法来解决,但在应用时遇到了一些连接问题。程序时候是用C#来写的。
目标机和客户机都是运行的XP系统
连接部分的代码如下:
            ConnectionOptions option = new ConnectionOptions();
            option.Username = "administrator";
            option.Password = "password";
     ManagementScope Mscope = new ManagementScope("\\\\221.38.15.199\\root\\cimv2", option);
但在连接时会出现拒绝访问的错误 HRUSRLT:0x0x80070005 (E_ACCESSEDDENIED)
在网上搜索了很久都没有找到通用的解决方法,经过多方搜集,终于解决了此问题。现把查找的方法整理如下:

1。如果是在网络上取得其远程计算机的信息,首先确保使用的用户名和密码正确,且用户有管理员权限。用户的密码不能为空。
2。检查目标机上DCOM是否可用。 检查注册表中键值 HKLM\Software\Microsoft\OLE\EnableDCOM的键值设为Y
3。检查WMI是否已经安装。 在运行窗口中输入 wbemtest
4。确保WMI的权限设置正确。可能需要设置的有DCOM的访问权限。设置方法可以参考MSDN中设置方法,地址如下:
   http://msdn2.microsoft.com/en-us/library/aa389290.aspx
   http://msdn2.microsoft.com/en-us/library/aa389286.aspx
   http://msdn2.microsoft.com/en-us/library/aa826699.aspx
   http://msdn2.microsoft.com/en-us/library/aa822575.aspx(其中有包括对Windows防火墙的设置,端口开放等设置,根据系统的具体情况而定。)
5。 如果访问的目标机运行的是Windows XP Pro 系统,需要确保远程登录方式不是来宾帐户的方式。
    方法如下:
      在本地安全设置中(可以在控制面板的管理工具中找到,或在运行框中输入命令 secpol.msc)。
      打开本地策略-〉安全选项,把 网络访问:本地帐户的共享和安全模式 中设置为 经典-本地帐户以自己的身份验证
6。 在XP SP2 中确保防火墙允许远程的登录。命令:netsh firewall set service RemoteAdmin
7。 注意系统安装其他防火墙或杀毒软件的设置是否允许访问。
8。 确保WMI或相关服务正在运行。XP中可能涉及到的服务有:
    COM+ Event System
    Remote Access Auto Connection Manager
    Remote Access Connetion Manager
    Remote Procedure Call(RPC)
    Remote Procedure Call(RPC)Locator
    Remote Registry
    Server
    Windows Management Instrumentation
    Windows Management Instrumentation Driver Extensions
    WMI Performance Adapter
    Workstation