设置远程 WMI 连接

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

本主题中讨论了以下部分:

Windows 防火墙设置

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

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

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

如果使用 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 设置规则组 = "windows 管理规范 (wmi) " new enable = yes

    键入以下命令,以禁用通过防火墙的 WMI 通信。

    netsh advfirewall firewall 设置规则组 = "windows 管理规范 (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.exe" program =% systemroot% \ system32 \ wbem \unsecapp.exe 操作 = 允许

  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 防火墙 delete rule name = "DCOM"

  2. 禁用 WMI 服务例外。

    netsh advfirewall firewall 删除规则名称 = "WMI"

  3. 若要禁用接收器异常,则为。

    netsh advfirewall firewall delete rule name = "Unsecapp.exe"

  4. 若要禁用传出异常,则为。

    netsh advfirewall firewall 删除规则名称 = "WMI _ OUT"

用户帐户控制设置

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

当你未连接到内置管理员帐户时,UAC 会影响与远程计算机的连接,具体取决于两台计算机是在域中还是在工作组中。 有关 UAC 和远程连接的详细信息,请参阅 用户帐户控制和 WMI

DCOM 设置

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

CIMOM 设置

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

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

HKEY _本地 _ 计算机 \ 软件 \ Microsoft \ WBEM \ CIMOM \ AllowAnonymousCallback

           Data type
REG \_ DWORD

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

连接到远程计算机上的 WMI