WMI RPC服务器不可用。(HRESULT: 0x800706BA异常)

8

我的应用程序需求如下。该应用程序将在域管理员系统上运行,它将对该域下的所有计算机进行ping,并从所有域系统获取磁盘驱动器、CPU和RAM详细信息。

每当我尝试ping计算机时,都会出现以下错误:

"RPC服务器不可用。(来自HRESULT的异常:0x800706BA)"

我正在使用的代码连接远程计算机是

ConnectionOptions options = new ConnectionOptions();
options.EnablePrivileges = true;
options.Impersonation = ImpersonationLevel.Impersonate;
options.Username = System.Configuration.ConfigurationSettings.AppSettings["AccessUserName"].ToString();
options.Password = System.Configuration.ConfigurationSettings.AppSettings["AccessPassword"].ToString();
options.Authority = "ntlmdomain:" + System.Configuration.ConfigurationSettings.AppSettings["DomainName"].ToString();
options.Authentication = AuthenticationLevel.Packet;
ManagementScope scope = new ManagementScope("\\\\" + sMachineIP + "\\root\\cimv2", options);
scope.Connect();
2个回答

21

我找到了解决方案。我通过在Windows防火墙中启用Windows Management Instrumentation(WMI)规则来完成。

  1. 打开Windows防火墙。
  2. 允许应用程序或功能通过Windows防火墙。
  3. Windows Management Instrumentation(WMI)启用域特权。

还有一些其他的事情可以检查。

  1. 远程计算机被防火墙阻止。
    解决方案:打开组策略对象编辑器快照(gpedit.msc),编辑用于管理组织中的Windows防火墙设置的组策略对象(GPO)。打开计算机配置,打开管理模板,打开网络,打开网络连接,打开Windows防火墙,然后打开域配置文件或标准配置文件,具体取决于您要配置哪个配置文件。启用以下异常:允许远程管理异常允许文件和打印机共享异常
  2. 主机名或IP地址错误或远程计算机已关闭。
    解决方法:验证正确的主机名或IP地址。
  3. "TCP/IP NetBIOS Helper"服务未运行。
    解决方法:验证“TCP/IP NetBIOS Helper”正在运行,并设置为在重新启动后自动启动。
  4. 远程计算机上未运行“远程过程调用(RPC)”服务。
    解决方法:使用Windows Run打开services.msc。在Windows服务中,验证远程过程调用(RPC)正在运行,并设置为在重新启动后自动启动。
  5. 远程计算机上未运行“Windows Management Instrumentation”服务。
    解决方法:使用Windows Run打开services.msc。验证Windows Management Instrumentation服务正在运行,并设置为在重新启动后自动启动。

1

错误The RPC server is unavailable. (0x800706ba)可能发生在Windows防火墙(或任何其他防火墙)阻止WMI连接时。请参见通过Windows防火墙连接和相关文章。

当我在远程机器的WMI控制远程安全属性下添加域管理员时,代码运行良好。请查看下面的屏幕截图。

我怀疑这并不是真的。当您没有权限访问WMI时,通常会出现拒绝访问错误。


1
当您使用错误的名称时,会出现此错误。 - Patrick Burwell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接