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

文章翻译 文章翻译
文章编号: 875605 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

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) 网站:
    http://msdn2.microsoft.com/en-gb/library/aa393614.aspx

允许远程管理

  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 网站:
http://www.microsoft.com/downloads/details.aspx?FamilyID=4454e0e1-61fa-447a-bdcd-499f73a637d1
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
875357 解决 Windows XP Service Pack 2 中 Windows 防火墙的设置问题

属性

文章编号: 875605 - 最后修改: 2007年1月11日 - 修订: 2.2
这篇文章中的信息适用于:
  • Microsoft Windows XP Professional Service Pack 2 (SP2)
  • Microsoft Windows Management Instrumentation 1.5
关键字:?
kbinfo kbtshoot KB875605
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com