为啥使用 WMI 连接时出现访问被拒绝错误?
Posted
技术标签:
【中文标题】为啥使用 WMI 连接时出现访问被拒绝错误?【英文标题】:Why I get Access Denied Error using WMI Connection?为什么使用 WMI 连接时出现访问被拒绝错误? 【发布时间】:2011-09-26 15:32:04 【问题描述】:这是整个互联网上的类似错误,但我无法解释为什么会在我的情况下发生这种情况。我正在尝试使用 WMI 从我的 XP 客户端计算机远程安装windwos 服务。我用,
ConnectionOptions options = new ConnectionOptions();
options.EnablePrivileges = true;
options.Impersonation = ImpersonationLevel.Impersonate;
options.Username = "domainName\userName";
options.Password = "pwd";
string path = string.Format("\\\\0\\root\\cimv2", machineName);
ManagementScope scope = new ManagementScope(path, options);
scope.Connect();
我得到 '访问被拒绝。 (来自 HRESULT 的异常:0x80070005)' 错误。我使用的是 windows XP SP3 并尝试连接到 windows server 2003。
我发现了这些,但我确实检查了所有这些:
用户帐户不是管理员 - 用户帐户是本地管理员。我可以使用同一个帐户,在该机器上进行安装并创建服务。这是运行我的应用程序服务的帐户。
dcomcnfg 并选中 Enable DCOM - This is already enabled.
在 ConnectionOptions 中更改了 Enabled Previliges 和 Impersonation 属性。但这无济于事。
防火墙设置 - 错误消息编号没有说明这一点。但是,这台机器与 XP 客户端在同一个域中。
【问题讨论】:
您在哪一行收到“拒绝访问”错误消息?在 scope.Connect() 线上? 您的 Windows Server 2003 是否加入了域?用户帐户是 Windows Server 2003 上的域帐户还是本地帐户? 已经为此添加了一个答案,这使它对我有用。谢谢汉斯的帮助。 【参考方案1】:我想通了。我用来远程登录(通过 mstsc)和安装/卸载服务的帐户不是本地管理员帐户。令人惊讶的是,我使用同一个帐户在那台机器上安装服务,所以假设它是本地管理员。当我将帐户添加到本地管理员时,WMI 连接也有效。因此,要远程连接到机器,您需要使用本地管理员帐户。
【讨论】:
以上是关于为啥使用 WMI 连接时出现访问被拒绝错误?的主要内容,如果未能解决你的问题,请参考以下文章
在 ubuntu11.4 中安装 phpmyadmin 时出现访问被拒绝错误
在局域网中的其他计算机上使用 Web API 时出现 403 禁止访问被拒绝错误