Windows 管理

组策略故障排除指南

Derek Melber

 

概览:

  • 常见 GPO 问题
  • 组策略规则
  • GPO 问题故障排除
  • 故障排除工具

Microsoft Active Directory 已成为许多 IT 基础结构的重要组件。Active Directory 的最重要功能之一便是组策略,该策略允许管理员集中管理域控制器、成员服务器和桌面。

尽管组策略具有许多明显的优点,但还是有一个小缺陷。那就是在大型组织中的设计和实施会很复杂,如果出现问题则故障排除工作会更加棘手。本文将详细介绍组策略的构造方式,然后向您说明如何排除故障。文章结束时,您处理几乎任何组策略问题都会得心应手。

麻烦的设置

组策略中有许多移动部件,尤其是与整体 Active Directory® 设计和实施的连接方式。要排除多种因访问权限和网络问题造成的故障,则您在寻找解决方案时,Active Directory 和组策略实施的基础始终不可或缺。在故障排除过程开始之前,让我们先来看一下可能配置错误的组策略设置,然后再探讨可能引起组策略出现故障的更为复杂的问题。

由 Active Directory 管理员使用模板文件(ADM 或 ADMX 文件)和“组策略对象编辑器”或 GPEdit(通过运行 gpedit.msc 启动)来查看组策略设置。管理员使用 GPEdit 创建“组策略对象”文件,即 GPO。将 GPO 配置为应用(或不应用)于 Active Directory 结构内的计算机和用户。有许多规则 GPO 必须遵守方可正常发挥功能。让我们马上查看这些规则。

必须链接 GPO 新建的 GPO 可能与 Active Directory 中的任何节点都不相连。尽管此时也可以编辑和修改 GPO,但只有将其链接到某节点之后才会影响对象。为确保 GPO 正确链接,可以查看组策略管理控制台 (GPMC) 中的信息窗口,如图 1 所示。

图 1 GPO 链接清晰显示

图 1** GPO 链接清晰显示 **(单击该图像获得较大视图)

GPO 必须以正确的对象为目标 如您所知,组策略必须以 Active Directory 中的正确对象为目标。不过,有时在故障排除练习期间会忽略这一点。在 GPO 中,有两大主要类别:计算机和用户。配置 GPO 时,一定要注意是为计算机对象还是为用户对象进行配置。然后,您可以验证在链接了该 GPO 的组织单位 (OU) 中是否放置了正确的对象类型。

GPO 并不应用于组 尽管您希望如此,但 GPO 无法应用于 Active Directory 安全组对象。GPO 设置仅能配置两个对象,即计算机和用户。GPO 不能通过组成员身份配置对象。例如,如果 GPO 链接到财务 OU,如图 2 所示,则只有 Derek 和 Frank 两个对象受到设置的影响。GPO 中的设置将不会影响市场组的成员,无论谁具有该组的成员身份。

图 2 财务 OU 及其中的对象

图 2** 财务 OU 及其中的对象 **(单击该图像获得较大视图)

目标对象必须位于 GPO 路径之中 如果您注意到 GPO 设置未按其应有的方式影响对象,则请查看一个更重要的设置,即对象必须位于 GPO 的管理范围 (SOM) 之中。这意味着对象必须位于链接 GPO 的节点之下(即使有足够多的子节点亦需如此)。例如,链接到财务 OU 的 GPO 不会影响市场 OU 中的任何对象,如图 3所示。GPO 的 SOM 来自与其相链接的节点,沿着 Active Directory 结构向下。

图 3 如果所有 OU 位于同一级别,则 GPO 仅应用于其所链接的 OU

图 3** 如果所有 OU 位于同一级别,则 GPO 仅应用于其所链接的 OU **(单击该图像获得较大视图)

需要启用 GPO 创建 GPO 时,其配置是对目标对象不做任何修改。不过,计算机和用户部分均会启用该 GPO。如果以上任一部分禁用,则跟踪起来就有些麻烦。因此,您在针对未应用 GPO 进行故障排除时,检查是否有部分或全部 GPO 遭到禁用实为良策。方法是在 GPMC 中打开“组策略对象”|“帐户策略”,然后查看 GPO 状态。

有些设置需要重新启动 GPO 设置未正常发挥作用时,可能是由于 GPO 的内在处理所致。触发 GPO 的定期后台刷新只能处理某些 GPO 设置,但并非全部。因此尽管您可能已经创建了一个设置,但可能尚未令其生效。有些设置被归类为前台策略,因此只有在重新启动计算机或用户先注销然后再重新登录后这些设置才会得到应用。以这种方式应用的设置示例包括软件安装、文件夹重定向和脚本应用程序。

设置的同步和异步应用程序

在 GPO 中,您可以配置启动和登录时策略应用程序的发生方式。您所做的更改,即可于策略仍在应用时提供对桌面的立即访问,也可确保在用户拥有对桌面的访问权限之前应用所有策略。图 4 显示了默认情况下每个操作系统的行为方式。如果您要改变此行为,可以修改以下策略设置:

Computer Configuration | Administrative Templates | 
System | Logon | Always wait for the network at computer startup and logon 

Figure 4 客户端上的默认处理

操作系统 启动 登录 策略刷新
Windows 2000 同步 同步 异步
Windows XP Professional 异步 异步 异步
Windows Server 2003 同步 同步 异步

大多数管理员喜欢选择同步策略应用程序,以确保在用户可以访问桌面之前已应用所有策略。这样能够保证用户在完成任何工作之前即已应用所有的安全和配置设置。请注意,这不是 Windows® XP Professional 中的默认状态,而是为加快登录速度所进行的优化。

变更默认继承

可以使用四种不同的方法来改变 GPO 处理的默认继承。这些选项功能强大,应谨慎使用,因为它们会导致组策略处理行为的重大改变。如果出现问题则故障排除工作也会非常困难。改变默认继承的选项包括以下四种设置和配置:

  • 阻塞策略继承
  • GPO 执行
  • 访问控制列表 (ACL) 的 GPO 过滤
  • Windows Management Instrumentation (WMI) 过滤器

既然应该谨慎使用这些设置,因此记录它们的使用时间应该不难。想知道这些选项是否在用,请查看 GPMC。阻塞继承在 GPMC 中的域或组织单位 (OU) 节点处执行。在各自的 GPO 上设置 GPO 执行、ACL 过滤和 WMI 过滤。

或者,可以从目标计算机中运行 Gpresult 命令,以获悉上述的某些设置是否在阻止策略应用。要获得被应用策略结果集的更详细视图,可在 Gpresult 命令后添加 /v 开关,这样即可获得详细的输出。

ADM 模板问题

当您试图在“管理模板”部分下配置 GPO 中的设置时,您所使用的是 ADM 模板。除随附于操作系统的 ADM 模板外,您可以自定义在 GPO 中使用的自有模板。ADM 模板中的代码会在“管理模板”节点下的“组策略编辑器”中创建文件夹和策略。不过,如果 ADM 模板损坏、丢失或配置错误,则可能在编辑器中无法看到部分或全部设置。下面有一些其他问题在使用 ADM 模板时要注意避免。

丢失 ADM 模板 如果在编辑 GPO 时发现有些自定义 ADM 模板中的设置未显示在编辑器中,则需要将 ADM 模板导入到 GPO 中。只需右击编辑器上的“管理模板”节点,然后选择“添加/删除模板”即可。

丢失首选项 在自定义 GPO 中可以创建两种类型的设置:首选项和策略。策略是默认的 Microsoft 设置,全部属于注册表中四个子项其中之一,每个设置末尾均为文本“Policies”。首选项则是“老式类型”的注册表修改,它们不属于四个子项其中之一,并且一经配置就很难反转。默认情况下,这些首选项不显示在编辑器中。需要显示它们的话,可通过工具栏上的“视图”菜单进行。选择“视图”菜单中的“过滤”,然后选中“只显示能完全管理的策略设置”复选框。随即就会显示在自定义 ADM 模板(已经导入)中所配置的首选项。

便捷工具

有大量工具可用来帮助您跟踪组策略问题。有些内置在操作系统中,另外一些则可以下载安装。接下来,我将讨论一些合适的工具,以便您可以针对自己的任务来选择正确的工具。

Dcgpofix 如果以下两个默认 GPO 中的一个出现了问题,则可以使用该工具:默认域策略和默认域控制器策略。如果其中一个或全部两个 GPO 损坏,程度严重到仅靠配置方式已经无法修复,或者存在一些其他未知问题,则可以使用 dcgpofix 工具将其还原为默认状态。此工具包含在 Windows Server® 2003 中。不应在 Windows 2000 域控制器上运行此工具;可使用 Recreatedefpol 来代替。请记住,使用此工具后会丢失所有自定义设置。

Recreatedefpol 该工具类似于 Dcgpofix,但只用于 Windows 2000 服务器。可将两个默认的 GPO 返回到其刚安装的状态。此工具应仅用于灾难恢复,不可用于 GPO 的日常维护。单击此处下载该工具

事件查看器 事件查看器含有丰富的有关组策略的信息。很可惜,只有查遍所有不同的日志文件才能找到组策略条目。您会在其中找到与策略应用程序、策略复制、策略刷新等相关的条目,在尝试跟踪问题时所有这些条目均会派上用场。在事件日志中并非始终包含关于特定组策略错误的大量信息,但是如果有些错误您无法确定,TechNet 会随时为您提供帮助。

Gpresult 此工具只能在目标计算机上本地运行,但是它会提供有关策略的结果集 (RSoP)、阻塞的 GPO、GPO 上的权限等更多信息。使用 /v 开关命令会显示大量有关正在影响计算机的 GPO 信息,以及与当前登录会话相关联的用户帐户信息。

Gpupdate 如果您要实施新的 GPO 设置或试图确保所有 GPO 处理均已发生,请使用 Gpupdate 工具。这是一款随附于操作系统(Windows XP 及更高版本)的命令行工具。运行此工具时,将会触发后台刷新,将会应用所有符合此刷新类型的 GPO 设置。如果添加 /force 开关,则将会重新应用所有 GPO 设置,即使自上次刷新以来尚未对 GPO 做出任何更改。在运行 Gpresult 命令之前先运行此命令对于跟踪 GPO 问题极其有效。

Gpotool 由于 GPO 是从域控制器(最初先在此域控制器中进行更改,然后扩展到所有其他域控制器)复制的,因此可能会出现复制失败或聚合无效的现象。结果可能是对各目标计算机所适合应用的更改不一致或失败。像 Gpresult 和 RSOP 这样的工具可以帮助确定应用了哪些 GPO,而 Gpotool 工具则可以帮助确定每个域控制器上的 GPO 是否一致。此工具是 Windows Server 2003 Resource Kit 的一部分,其网址为 go.microsoft.com/fwlink/?LinkId=77613。

Replmon 从一个域控制器到另一个域控制器进行 GPO 的故障排除复制时,知道使用哪些工具可帮助您成功复制是很重要的。由于 GPO 有两部分必须复制,因此也有两个问题需要解决。第一,由文件复制服务 (FRS) 控制每个域控制器上的 SYSVOL 内容。除禁用和启用该服务以帮助其触发复制间隔外,您可以对此复制执行控制的内容着实不多。GPO 的另一部分,在 Active Directory 中存储哪些内容则由 Active Directory 复制控制。可使用“Active Directory 站点和服务”在同一 Active Directory 站点的域控制器间控制此复制。不过,如果您需要在不同 Active Directory 站点中触发域控制器间的复制,则需要使用工具 Replmon。Replmon 可以跨站点界限强制 Active Directory 数据库的复制,而“Active Directory 站点和服务”则不能。因此,如果您发现有不匹配的组策略信息(存储在 Active Directory),则可以使用 Replmon 触发复制过程以将该信息聚合到每个域控制器上。Replmon 是 Resource Kit 和 Windows XP 支持工具的一部分。可以从 go.microsoft.com/fwlink/?LinkId=77614 下载此工具。

RSOP 与命令行工具 Gpresult 非常相似,RSOP 为查看由所有 GPO 应用的设置提供了一个图形界面。RSOP.MSC 是一款 Windows XP Professional 和 Windows Server 2003 的内置工具。该工具采用与组策略对象编辑器相类似的格式为您提供所有已应用策略的结果,如图 5 所示。

图 5 策略工具的结果集

图 5** 策略工具的结果集 **

总结

组策略问题的故障排除并非是像您以前执行过的那些简单任务。实际上,正如本文所述,组策略是相当的复杂。当您着手进行故障排除时,您需要了解其核心体系结构以及典型的组策略整体处理过程。还需要了解 GPO 的更新、复制、处理和应用方式。如果您对所有这些概念均有了一个通透的了解,则排除任何具体的组策略问题故障都会容易一些。遵照本文中的原则并使用合适的工具,您可以随时处理所遇到的各种组策略问题。

Derek Melber是 DesktopStandard(Microsoft 独资子公司)的教育、证书及遵从性解决方案主管。Derek 参与编著了《Microsoft Windows Group Policy Guide》(Microsoft Windows 组策略指南)(Microsoft Press,2005)。他还编写了有关审核 Windows 安全性的一系列书籍 (www.theiia.org)。可通过 derekm@desktopstandard.com 与他取得联系。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.