【问题标题】:WMI: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) throws when try to connect to remote machineWMI:RPC 服务器不可用。 (来自 HRESULT 的异常:0x800706BA)尝试连接到远程机器时抛出
【发布时间】:2019-05-24 12:50:08
【问题描述】:

我正在使用以下代码通过 WMI 连接到远程机器:

   ConnectionOptions connOptions = new ConnectionOptions();
            connOptions.Impersonation = ImpersonationLevel.Impersonate;
            connOptions.EnablePrivileges = true;
            connOptions.Username = "admin";
            connOptions.Password = "password";
            ManagementScope scope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", remoteMachine), connOptions);
            scope.Connect();

我收到以下异常:RPC 服务器不可用。 (HRESULT 异常:0x800706BA)

检查了in this knowledgebase article 描述的所有步骤,远程机器上一切正常。

用户是远程计算机上的管理员。

试过Wbemtest工具,结果一样

有人知道发生了什么吗?

【问题讨论】:

标签: c# .net wmi


【解决方案1】:

如果您在 Win7 下,您必须以管理员身份运行应用程序。您还可以为 connOptions.Impersonation 属性尝试不同的值。您是否在远程计算机上打开了 RPC 端口?尝试关闭两台机器上的防火墙altogeter。

【讨论】:

  • 如果它在禁用防火墙的情况下工作,请尝试在命令提示符处键入:Netsh firewall set service RemoteAdmin
  • 好建议。谢谢。稍微配置了我的防火墙,一切正常
  • 或者您可以将 WMI 作为例外添加到您的防火墙
【解决方案2】:

另外,您需要在 Windows 防火墙中启用 Windows Management Instrumentation (WMI) 规则。

1] Windows 防火墙。
2] 允许应用或功能通过 Windows 防火墙。
3] 启用 Windows Management Instrumentation (WMI) 的权限。

使用 Windows 防火墙启用或禁用 WMI 规则

  1. 控制面板中,点击安全,然后点击Windows防火墙。
  2. 点击更改设置,然后点击例外选项卡。
  3. 例外窗口中,选中 Windows Management Instrumentation (WMI) 复选框以启用通过 防火墙

禁用 WMI 流量,请清除该复选框。

您还可以在命令提示符处启用或禁用通过防火墙的 WMI 流量。

命令提示符下使用 WMI 规则组启用或禁用 WMI 流量

在命令提示符下使用以下命令。键入以下内容以启用通过防火墙的 WMI 流量。

netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes

键入以下命令以禁用 WMI 流量通过防火墙。

netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=no

【讨论】:

  • 就我而言,我试图使用 C# 通过 WMI 杀死远程服务器上的 java.exe 进程。这个解决方案对我很有效。谢谢!
  • 启用权限 = 启用 WMI 流量通过防火墙。
【解决方案3】:

如果您仍然有问题,请点击下面的链接可能会对您有所帮助。

Connecting to WMI Remotely

即使我的所有防火墙都关闭,我也面临这个问题。

下面的命令运行,我的问题就解决了。

  1. netsh advfirewall 防火墙设置规则组="windows 管理 仪表 (wmi)" 新启用 = 是

  2. netsh advfirewall 防火墙添加规则 dir=in name="DCOM" 程序=%systemroot%\system32\svchost.exe 服务=rpcss 操作=允许 协议=TCP 本地端口=135

  3. netsh advfirewall 防火墙添加规则 dir=in name ="WMI" 程序=%systemroot%\system32\svchost.exe 服务=winmgmt 操作 = 允许协议=TCP localport=any

  4. netsh advfirewall 防火墙添加规则 dir=in name ="UnsecApp" program=%systemroot%\system32\wbem\unsecapp.exe action=allow

  5. netsh advfirewall 防火墙添加规则 dir=out name ="WMI_OUT" 程序=%systemroot%\system32\svchost.exe 服务=winmgmt 操作=允许 协议=TCP 本地端口=任何

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多