你目前正处于脱机状态,正在等待 Internet 重新连接

如何在 Windows XP SP2 中解决与 WMI 相关的问题

概要
Microsoft Windows XP Service Pack 2 (SP2) 中某些安全锁定方面的更改可能引发与 Windows Management Instrumentation (WMI) 相关的问题,在远程方案中此问题可能尤其严重。例如,Windows XP SP2 中的 Windows 防火墙在默认情况下是启用的。此外,Windows XP SP2 中的 DCOM 限制与 Windows 早期版本中的 DCOM 限制是不同的。
简介
由于安全方面的更改,在 Microsoft Windows XP SP2 中访问 WMI 时可能会收到“access denied”(拒绝访问)错误信息。如果使用的是异步查询,则从基于 Windows XP SP2 的计算机访问基于非 Windows XP SP2 的计算机时,也可能会出现问题。

返回页首

在 Windows XP SP2 中解决与 WMI 相关的问题

当您解决与 WMI 相关的问题时,首先要确定是本地问题还是远程问题。为此,请尝试从本地访问 WMI,将网络故障的可能性排除在外。如果从本地访问 WMI 时问题仍然存在,则说明该问题与 Windows XP SP2 中的安全更改无关。

如果从本地访问 WMI 时没有出现问题,则说明该问题可能与 Windows 防火墙和 DCOM 有关。执行从计算机 A 到计算机 B 的远程 WMI 操作时,必须建立从计算机 A 到计算机 B 的 DCOM 连接,在计算机 B 上,必须将 Windows 防火墙和 DCOM 配置为允许该连接。如果 WMI 操作是同步或半同步的,则只需要一个连接。然而,如果 WMI 操作是异步的,则需要从计算机 B 到计算机 A 的另一个连接。
图 1:如果 WMI 操作是异步的,则需要连接 2
要在计算机 A 和计算机 B 之间建立连接 1,请按照下列步骤操作:
  1. 如果在计算机 B 上启用了 Windows 防火墙,则应启用“Windows 防火墙: 允许远程管理例外”设置。默认情况下,Windows XP SP2 中会启用 Windows 防火墙。

    有关如何启用此设置的更多信息,请参阅允许远程管理 一节。
  2. 如果发出远程请求的用户不是管理员,请确保该用户在计算机 B 上拥有 DCOM 远程启动权限。

    有关更多信息,请参阅授予 DCOM 远程启动权限 一节。
只有使用异步 WMI 操作时才需要连接 2。我们建议您尽可能使用半同步操作。这对性能的影响很小,半同步操作可以实现相同的功效,而又不需要反向连接。

如果必须使用异步操作,请按照下列步骤操作:
  1. 如果在计算机 A 上已启用 Windows 防火墙,则应打开 DCOM 端口。默认情况下,Windows XP SP2 中会启用 Windows 防火墙。

    有关如何打开 DCOM 端口的更多信息,请参阅打开 DCOM 端口 一节。
  2. 在计算机 A 上,将客户端应用程序添加到 Windows 防火墙的例外列表中,这样反向连接才能够完成。

    客户端应用程序往往是 Unsecapp.exe 应用程序。Unsecapp.exe 应用程序用于在一个进程中将结果发还给客户端,该进程可能没有成为 DCOM 服务的权限。脚本和 Microsoft .NET System.Management 命名空间都要靠 Unsecapp.exe 应用程序来接收异步操作的结果。

    有关如何将客户端应用程序添加到 Windows 防火墙例外列表中的更多信息,请参阅将客户端应用程序添加到 Windows 防火墙的例外列表中 一节。
  3. 如果反向连接是作为匿名连接创建的,则应将 DCOM 中的远程启动权限授予计算机 A 上的匿名登录帐户。在符合下列条件之一时,反向连接将作为匿名连接创建:
    • 计算机 B 是某个工作组的成员。
    • 计算机 B 与计算机 A 不在同一个域内,而且计算机 B 所在的域不是一个受信任域。
    有关更多信息,请参阅授予 DCOM 远程启动权限 一节。
  4. 让反向连接尽可能安全。有关更多信息,请访问下面的 Microsoft Developer Network (MSDN) 网站:
返回页首

允许远程管理

  1. 单击“开始”,单击“运行”,键入 gpedit.msc,然后单击“确定”。
  2. 在“控制台根目录”下,依次展开“计算机配置”、“管理模板”、“网络”、“网络连接”、“Windows 防火墙”,然后单击“域配置文件”。
  3. 右键单击“Windows 防火墙: 允许远程管理例外”,然后单击“属性”。
  4. 单击“已启用”,然后单击“确定”。
返回页首

授予 DCOM 远程启动权限

  1. 单击“开始”,单击“运行”,键入 DCOMCNFG,然后单击“确定”。
  2. 在“组件服务”对话框中,依次展开“组件服务”、“计算机”,然后展开“我的电脑”。
  3. 在工具栏上,单击“配置‘我的电脑’”按钮。

    随即显示“我的电脑”对话框。
  4. 在“我的电脑”对话框中,单击“COM 安全”选项卡。
  5. 在“启动和激活权限”下,单击“编辑限制”。
  6. 在“启动权限”对话框中,如果您的名称或您的组未显示在“组或用户名称”列表中,请按照下列步骤操作:
    1. 在“启动权限”对话框中,单击“添加”。
    2. 在“选择用户、计算机或组”对话框中,将您的名称和组添加到“输入对象名称来选择”框中,然后单击“确定”。
  7. 在“启动权限”对话框中,在“组或用户名称”框内选择您的用户和组。在“用户权限”下的“允许”栏中,选择“远程启动”,然后单击“确定”。
返回页首

打开 DCOM 端口

在 Windows 防火墙中启用端口之前,请确保已经在组策略中启用了“Windows 防火墙: 允许本地端口例外”设置。为此,请按照下列步骤操作:
  1. 单击“开始”,单击“运行”,键入 gpedit.msc,然后单击“确定”。
  2. 在“控制台根目录”下,依次展开“计算机配置”、“管理模板”、“网络”、“网络连接”、“Windows 防火墙”,然后单击“域配置文件”。
  3. 右键单击“Windows 防火墙: 允许本地端口例外”,然后单击“属性”。
  4. 单击“已启用”,然后单击“确定”。
注意:也可使用“Windows 防火墙: 定义端口例外”设置来配置本地端口例外。

DCOM 端口是 TCP 135。要打开 DCOM 端口,请按照下列步骤操作:
  1. 单击“开始”,然后单击“控制面板”。
  2. 双击“Windows 防火墙”,然后单击“例外”选项卡。
  3. 单击“添加端口”。
  4. 在“名称”框中,键入 DCOM_TCP135,然后在“端口号”框中键入 135
  5. 单击“TCP”,然后单击“确定”。
  6. 单击“确定”。
注意:也可在命令提示符处键入以下命令打开一个端口:
netsh firewall add portopening [TCP/UDP][Port][Name]
返回页首

将客户端应用程序添加到 Windows 防火墙的例外列表中

在 Windows 防火墙中定义程序例外之前,请确保已经在组策略中启用了“Windows 防火墙: 允许本地程序例外”设置:
  1. 单击“开始”,单击“运行”,键入 gpedit.msc,然后单击“确定”。
  2. 在“控制台根目录”下,依次展开“计算机配置”、“管理模板”、“网络”、“网络连接”、“Windows 防火墙”,然后单击“域配置文件”。
  3. 右键单击“Windows 防火墙: 允许本地程序例外”,然后单击“属性”。
  4. 单击“已启用”,然后单击“确定”。
注意:也可使用“Windows 防火墙: 定义程序例外”设置来配置本地程序例外。

要将客户端应用程序添加到 Windows 防火墙的例外列表中,请按照下列步骤操作:
  1. 单击“开始”,然后单击“控制面板”。
  2. 双击“Windows 防火墙”,然后单击“例外”选项卡。
  3. 单击“添加程序”。
  4. 找到要添加的应用程序,然后单击“确定”。
  5. 单击“确定”。
注意:也可在命令提示符处键入以下命令将程序添加到 Windows 防火墙例外列表中:
netsh firewall add allowedprogram [<Path>\ProgramName] [ENABLE/DISABLE]
返回页首

示例

尝试用系统信息工具 Msinfo32.exe 与运行 Microsoft Windows XP SP2 的远程计算机进行连接时,收到以下错误信息:

The connection to computer name could not be established.Check to see that the network path name is correct, that you have sufficient permission to access Windows Management Instrumentation, and that Windows Management Instrumentations is installed on the computer.
注意:在此信息中,computer name 是一个占位符。

要解决此问题,请按照允许远程管理 一节中所述的步骤操作。

返回页首
参考
有关其他信息,请访问下面的 Microsoft 网站: 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
875357解决 Windows XP Service Pack 2 中 Windows 防火墙的设置问题
返回页首
Windows Firewall WINXP SP2 WMI DCOM
属性

文章 ID:875605 - 上次审阅时间:01/11/2007 09:46:00 - 修订版本: 2.2

  • Microsoft Windows XP Professional Service Pack 2 (SP2)
  • Microsoft Windows Management Instrumentation 1.5
  • kbinfo kbtshoot KB875605
反馈
c.microsoft.com/ms.js" '="">