设置远程 WMI 连接

连接到远程计算机上的 WMI 命名空间可能需要更改 Windows 防火墙用户帐户控制 (UAC)、DCOM 或通用信息模型管理器 (CIMOM) 的设置。

本主题包括以下部分:

Windows 防火墙设置

Windows 防火墙设置的 WMI 设置仅启用 WMI 连接,而不启用其他 DCOM 应用程序。

必须在远程目标计算机上的 WMI 防火墙中设置异常。 WMI 例外允许 WMI 接收与 Unsecapp.exe 的远程连接和异步回调。 有关详细信息,请参阅设置异步调用的安全性

如果客户端应用程序创建自己的接收器,则必须将该接收器显式添加到防火墙例外才能让回调成功。

如果 WMI 已使用 winmgmt /standalonehost 命令通过固定端口启动,则 WMI 的异常也有效。 有关详细信息,请参阅为 WMI 设置固定端口

可以通过 Windows 防火墙 UI 启用或禁用 WMI 流量。

使用防火墙 UI 启用或禁用 WMI 流量

  1. 在“控制面板”中,单击“安全性”,然后单击“Windows 防火墙”。
  2. 单击“更改设置”,然后单击“异常”选项卡。
  3. 在“异常”窗口中,选中 Windows Management Instrumentation (WMI) 对应的复选框,以启用穿过防火墙的 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

还可以对每个 DCOM、WMI 服务和接收器使用单独的命令,而不是使用单个 WMI 规则组命令。

使用针对 DCOM、WMI、回调接收器和传出连接的单独规则启用 WMI 流量

  1. 要为 DCOM 端口 135 建立 Windows 防火墙例外,请键入以下命令。

    netsh advfirewall firewall add rule dir=in name="DCOM" program=%systemroot%\system32\svchost.exe service=rpcss action=allow protocol=TCP localport=135

  2. 要为 WMI 服务建立防火墙例外,请使用以下命令。

    netsh advfirewall firewall add rule dir=in name ="WMI" program=%systemroot%\system32\svchost.exe service=winmgmt action = allow protocol=TCP localport=any

  3. 若要为接收来自远程计算机的回调的接收器建立防火墙例外,请使用以下命令。

    netsh advfirewall firewall add rule dir=in name ="UnsecApp" program=%systemroot%\system32\wbem\unsecapp.exe action=allow

  4. 若要建立与本地计算机异步通信的远程计算机的传出连接的防火墙例外,请使用以下命令。

    netsh advfirewall firewall add rule dir=out name ="WMI_OUT" program=%systemroot%\system32\svchost.exe service=winmgmt action=allow protocol=TCP localport=any

若要单独禁用防火墙例外,请使用以下命令。

使用针对 DCOM、WMI、回调接收器和传出连接的单独规则禁用 WMI 流量

  1. 禁用 DCOM 异常。

    netsh advfirewall firewall delete rule name="DCOM"

  2. 禁用 WMI 服务异常。

    netsh advfirewall firewall delete rule name="WMI"

  3. 禁用接收器异常。

    netsh advfirewall firewall delete rule name="UnsecApp"

  4. 禁用传出异常。

    netsh advfirewall firewall delete rule name="WMI_OUT"

用户帐户控制设置

用户帐户控制 (UAC) 访问令牌筛选可能会影响 WMI 命名空间中允许的操作或返回的数据。 在 UAC 下,本地管理员组中的所有帐户都使用标准用户访问令牌(也称为 UAC 访问令牌筛选)运行。 管理员帐户可以使用提升的权限(“以管理员身份运行”)运行脚本。

如果未连接到内置管理员帐户,UAC 会对与远程计算机的连接造成不同程度的影响,具体取决于这两台计算机是位于域还是工作组中。 有关 UAC 和远程连接的详细信息,请参阅用户帐户控制和 WMI

DCOM 设置

有关 DCOM 设置的详细信息,请参阅保护远程 WMI 连接。 但是,UAC 会影响非域用户帐户的连接。 如果使用远程计算机的本地管理员组中包含的非域用户帐户连接到远程计算机,则必须显式授予该帐户的远程 DCOM 访问、激活和启动权限。

CIMOM 设置

如果远程连接位于没有信任关系的计算机之间,则需要更新 CIMOM 设置;否则异步连接将失败。 不应为同一域或受信任域中的计算机修改此设置。

需要修改以下注册表项以允许匿名回调:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\AllowAnonymousCallback

               数据类型

               REG\_DWORD

如果 AllowAnonymousCallback 值设置为 0,则 WMI 服务会阻止对客户端进行匿名回调。 如果值设置为 1,则 WMI 服务允许对客户端进行匿名回调。

连接到远程计算机上的 WMI