【发布时间】:2013-03-20 13:46:05
【问题描述】:
我有这段代码:
private ManagementScope CreateNewManagementScope(string server)
{
string serverString = "\\\\" + server + "\\root\\cimv2";
ConnectionOptions options = new ConnectionOptions();
options.Username = "name";
options.Password = "password";
ManagementScope scope = new ManagementScope(serverString, options);
scope.Connect();
return scope;
}
使用该代码,我正在尝试通过 WMI 远程访问另一台 PC。密码和用户名 100% 正确(我使用 wmic /node:pc /username:name /password:pwd 对其进行了测试,这有效)但我被拒绝访问
(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))
任何想法我做错了什么?我正在使用 Win 7/C#/.NET 4.0 感谢您的帮助!
【问题讨论】:
-
您是在域上还是在其他任何地方?您可能必须在用户名中指定您的域名,或者如果您这样做,您可能不需要等,还要检查您的密码是否有可能无法转义的特殊字符。
-
好吧,我尝试了 domain\\user (双 \\ 因为转义),但没有奏效。密码只有一个点,但没有其他特殊内容。我真的不明白为什么这不起作用。
-
您尝试访问另一台电脑的帐户是否具有足够的连接权限?例如 IE 是网络管理员吗?
-
作为同一个用户,您可以访问远程机器的事件日志吗?我的意思是虽然事件查看器。
标签: c# .net wmi remote-access