设置远程 WMI 连接

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

本主题将讨论以下部分:

Windows 防火墙设置

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

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

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

如果 WMI 已使用固定端口(使用 winmgmt /standalonehost 命令)启动 WMI,则 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 建立防火墙例外,请使用以下命令。

    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 防火墙删除规则名称=“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 会影响非域用户帐户的连接。 如果使用远程计算机的本地 Administrators 组中包括的非域用户帐户连接到远程计算机,则必须显式授予远程 DCOM 访问权限、激活和启动该帐户的权限。

CIMOM 设置

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

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

\ HKEY_LOCAL_MACHINE软件\微软\WBEM\CIMOM\AllowAnonymousCallback

               数据类型

               REG\_DWORD

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

连接到远程计算机上的 WMI