代码如下:
ConnectionOptions connectionOptions = new ConnectionOptions();
connectionOptions.Username = userName;
connectionOptions.Password = password;
ManagementScope managementScope = new ManagementScope("//" + host + "/root/cimv2", connectionOptions);
try
...{
managementScope.Connect();
}
catch
...{
} 1、 测试发现连接其他机子可以,但是连接本机时会提示“无法为本地连接使用用户凭证”。。。拉出无敌工具 百度和google一通乱砍,发现原来连接本机时不要设置ConnectionOptions 的 Username 和Password,但是要在web.config里面设置认证用户。
修改如下:
ConnectionOptions connectionOptions = new ConnectionOptions();
if (host != ".")
...{
connectionOptions.Username = userName;
connectionOptions.Password = password;
}
ManagementScope managementScope = new ManagementScope("//" + host + "/root/cimv2", connectionOptions);
try
...{
managementScope.Connect();
}
catch
...{
}同时在web.config的<system.web>节点内加入:
<identity impersonate="true" userName="Administrator" password="123456"/>
2、当连接一台XP系统的机子时发现老是提示“RPC服务不可用”,检查发现“Remote
Procedure Call”、“DCOM Server Process Launcher” 和 “DHCP Client”服务都已经
启动了,于是关了XP自带的windows防火墙再试,发现不再报“RPC服务不可用”错误,
取而代之的是“拒绝访问”,抓狂。。。。开始试各种办法,最后终于摆平了,网络访
问权限的问题:
本地安全策略--本地策略--安全选项--网络访问:本地帐户的共享和安全模式
--属性 选择:经典-本地用户以自己的身份验证。
设置完就行了。
本文介绍了在使用WMI进行远程连接时遇到的问题及其解决方案。针对连接本机时出现的“无法为本地连接使用用户凭证”错误,文章给出了调整ConnectionOptions及web.config配置的方法。对于连接XP系统时出现的“RPC服务不可用”及“拒绝访问”等问题,也提供了详细的解决步骤。
2608





