组策略特性集的渐进指南2000年1月25日 星期二
| ||||||||||||||||||||||||||||||||||||||||||||||||||
组策略是Windows 2000操作系统的配置管理特性的核心组件。组策略指定组里的用户和计算机,包括基于注册表的策略设置、安全性设置、软件安装、脚本(计算机启动和关闭,登录和退出),以及文件夹的重定向。 该文章是组策略功能的技术渐进指南。它针对IT管理员、系统管理员以及桌面环境下对组策略的使用感兴趣的用户。 内容:
介绍该文档是渐进指南的一部分,目的是向IT管理员和系统管理员介绍Windows 2000操作系统的特性。该文档给出了组策略的概要,并介绍了如何使用创建组插件,来为组里的用户和计算机设定特定的创建组的策略值。它包括的信息涉及以下方面:
组策略和活动目录 一个GPO可用来过滤基于安全组成员资格的对象,它允许管理员以集中或者分布式的方式管理计算机和用户。为实现这一点,管理员可使用基于安全组的的过滤来定义组策略管理的范围,这样组策略可在域层次集中应用,或者在OU层次以分布式方式应用,并且可通过安全组再次过滤。管理员可使用组策略中的安全组来完成以下任务:
管理员使用组策略微软管理控制台(MMC)插件,来管理策略的设置。组策略包括管理这些策略设置的各种各样的特性。此外,第三方可扩展组策略来管理其他策略设置。由组策略产生的数据存储在组策略对象(GPO)中,在单域中它被备份到所有的域控制器上。 组策略插件包括多个MMC插件扩展,构成组策略插件的主体。它们包括以下扩展: 下面所示图1表明组策略对象是如何使用活动目录层次来配置组策略。
组策略对象连接到活动目录的站点、域和OU容器上。该过程的缺省的顺序是遵循活动目录的层次结构特征的:先是站点,再是域,最后是OU。一个GPO可连接到多个活动目录容器,或者是多个容器可连接到一个GPO。
先决条件和初始配置先决条件 该软件安装和维护文档,是针对Windows 2000服务器配置的,基于Windows 2000服务器的通用基本结构配置的渐进指南。 在使用该指南前,你需要如上述文档中所说的那样建立通用基本结构。该基本结构指定了特定的硬件和软件设置。如果没有使用通用基本结构,那么,在使用该指南时要考虑该因素。 组策略场景 注意:该文档没有说明所有可能的组策略场景。请使用该使用说明书来着手理解组策略是如何起作用的,并考虑你们机构该如何使用组策略来降低TCO。其它的Windows 2000特性,包括安全性设置和软件安装和维护,都是基于组策略。为了解在这些特定的场景下如何使用组策略,请参考白皮书和Windows 2000服务器在线帮助中关于Windows 2000安全性和软件安装和维护方面的内容,所有这些内容在Windows 2000站点都可以找到。
组策略插件的配置组策略是跟活动目录服务捆绑在一起的。组策略插件使用微软管理控制台(MMC)扩展机制,来扩展活动目录管理工具。 活动目录插件为组策略设定了管理范围。为设定域和组织单元(OU)的管理范围,最通用的访问组策略的方法,是使用活动目录用户和计算机插件。另外,也可以使用活动目录站点和服务插件,来设定站点的管理范围。这两个工具都可以在管理工具程序组中找到;在两个工具中都可以启动组策略插件。此外,还可以创建一个定制的MMC控制台,如接下来的部分所述。 配置定制的控制台 该文档中的例子使用定制的MMC控制台,通过这一部分中给出的步骤可以创建它。在尝试该文档剩余部分前,需要创建该定制的控制台。 注:如果读者想获取更多的创建MMC控制台的经验,请浏览mmcsteps.asp中的,微软管理控制台渐进指南中所述的过程。 定制控制台
保存控制台的修改
控制台应该如下图2所示: 访问组策略 在处理任意站点、域和OU时,都可以通过适当的活动目录工具来访问组策略。 由活动目录站点和服务中打开组策略
由活动目录用户和计算机中打开组策略
为访问作用于特定计算机(或者本地机)的组策略,首先得将组策略插件,加载到MMC控制台的,针对特定计算机的名称空间中。对于这些不同,主要存在两个原因:
划定域或者OU的作用范围 使用你前面所存的GPWalkthrough MMC控制台来设定域或OU的作用范围 给域或OU设定组策略范围
它显示了属性页,在这里,可管理跟所选的活动目录容器关联的GPO。可使用该属性页添加、编辑、删除(移去)并禁止GPO;设定非覆盖选项;并改变所关联的GPO的顺序。选择编辑启动组策略插件。可在该文档的后面,找到关于使用组策略属性页和组策略插件的详细信息。 注意:计算机和用户容器不是组织单元;因此,你不能将组策略直接应用于它们。这些容器中的用户和计算机,只能由作用于这些域和站点对象的GPO那里获取策略。域控制器容器就是一个OU,并且组策略可以直接作用于它们。
设定本地机和远程机的范围 为访问本地或远程机的组策略,得将组策略插件添加到MMC控制台,再选定相应的本地机和远程机。要访问本地机的组策略,需要使用在该文档里先前所创建的GPWalkthrough控制台,并选择本地机策略节点。通过将其他的组策略插件添加到GPWalkthrough中,并在选择组策略对象对话框出现时,选择浏览按钮,就可以将其它计算机添加到控制台的名字空间中。 注意:当组策略碰上本地GPO时,将不加载某些组策略扩展。 创建组策略对象 在组策略对象(GPO)中的所创建的组策略设置,将依次跟选定的活动目录对象,如站点、域、组织单元(OU)等,建立关联。 创建组策略对象(GPO)
在这里,可以为Headquarters OU添加其他的GPO,并为它们取易懂的名字,当然,也可以编辑HQ Policy GPO,这得为该GPO启动组策略插件所有的组策略功能都是从插件扩展派生出来的。在本练习中,所有的扩展都被激活。这样,对任意给定的插件,都可以用标准的MMC方法来限制所加载扩展插件关于该功能的信息,可参考Windows 2000服务器在线帮助中,关于微软管理控制台的内容。 另外,还存在可以用来限定MMC插件扩展的组策略。为访问该组策略,查看管理模板下的系统/组策略节点。使用解释标签,了解关于使用这些策略的详细信息。 如果有不只一个GPO跟活动目录文件夹关联,检验该GPO的序,在该表中,GPO的位置越高,其优先级越高。注意,表中较高的GPO将最后处理(这保证了它有较高优先级)。在表中的GPO是对象,它们有上下文菜单,这样就可以查看任意GPO的信息。使用上下文菜单可以获取并修改GPO常规信息。该信息包括任意访问控制列表(DACL,在本文的安全组过滤部分对此有阐述),该GPO所连接的其它站点、域和OU列表。 好经验:通过使用安全组中的用户和计算机成员关系,以及设置基于该成员关系的DACL,可进一步改进GPO。这在下面的安全组过滤部分有阐述。 管理组策略 为管理组策略,要访问站点、域或OU的上下文菜单,选择属性,再选择组策略标签。这将会显示组策略属性页。请注意以下内容:
注意:可以让多个GPO的非覆盖属性激活。若选中所有的GPO复选条被选中,则其优先级最高。在若有多个GPO被选定为非覆盖,在其它选中的GPO应用后,具有最高优先级的GPO才被应用。
注意:如果没有专门指明,由基于域的策略设置来覆盖的话,那么本地GPO中的策略设置将总是有效的。任意层次的阻塞策略继承都不会删除本地的策略。 编辑组策略对象 可以使用定制的控制台来编辑GPO。如果在此之前没有以管理员身份登录到HQ-RES-DC-01服务器上,那么你得这样做。 编辑组策略对象(GPO)
添加或浏览组策略对象 添加组策略对象连接对话框显示了当前跟域、OU、站点有联系的GPO,或所有GPO(不考虑其当前连接)。添加组策略对象连接对话框如下面图6所示:
请注意以下内容:
注意:可以用同样的名称创建两个或更多个GPO。设计时就考虑到这一点了,这是因为GPO实际上是按GUID来存储的,在活动目录中的显示的名称只是让人易于理解而已。
基于注册表的策略可通过管理模板文件(.adm)控制基于注册表的用户界面。这些文件描述了组策略插件的管理模板节点里,所显示用户界面。这些文件的格式跟Microsoft Windows NT 4.0中的System Policy编辑工具(poledit.exe)所使用的.adm的格式是兼容的。利用Windows 2000,扩展了可用的选项。 注意:虽然可以将任意.adm文件添加到名字空间中,但如果使用了来自Windows早期版本中的.adm,其注册表的键在Windows 2000中不一定有效,或它们实际上设定了首选项设置,并用这些设置标注该注册表;也就是说,注册表的设置将会得以延续。 缺省的情况下,只显示在加载的.adm文件里的策略设置,这些文件位于认可的组策略目录树中;这些策略作为真正的设置来引用。这意味着组策略插件不显示.adm文件中所描述的这样的任意条目-它们设定组策略目录树之外的注册键;这些条目作为组策略首选项来引用。所认可的组策略目录树是: \Software\Policies 在系统\组策略节点中的用户配置\管理模板里可以找到名为执行显示单个策略的组策略。如果设定该策略为有效,将出现显示单个策略命令,并且管理员不能关闭它,组策略插件将显示唯一选中的策略。如果设定该策略为无效或未配置, 将缺省地出现显示单个策略命令;然而,可以通过关闭显示单个策略命令来查看首选项。要查看首选项,首先得关闭显示单个策略命令,通过选择管理模板节点(用户配置和计算机配置节点下都可找到),然后在组策略控制台里单击查看菜单,并清除显示单个策略复选框,就可以达到关闭的目的了。注意:该策略的状态不可能是一直有效的;也就是说,该策略设置没有首选项。 在组策略中,通过红色图标可将首选项与其它选中的策略区分开来,其它的颜色为蓝色。 强烈建议不要在组策略基本结构中使用非策略,其原因可参见前面所述的注册表设置的行为特性。如果要在Windows NT 4.0,Windows 95和Windows 98客户端设置注册表策略的话,请使用Windows NT 4.0系统策略编辑工具,Poledit.exe。 缺省情况下,System.ad、Inetres.adm和Conf.adm等文件将被加载,并显示在如下图7中所示的名字空间中:
.adm文件包括如下设置:
添加管理模板 .adm文件由类别的分层结构所组成,它们定义了组策略用户界面的选项是如何组织起来的。 添加管理模板(.adm文件)
用管理模板设置基于注册表的设置
请注意对话框中的前一个策略和下一个策略按钮。使用这些按钮可以在Details窗格中定位,以设定其它策略的状态。当然,也可以不管该对话框,直接单击组策略插件中的Details窗格里的其它策略。如果当前的焦点在Details窗格中,则可以使用键盘里的上/下箭头键以及回车键,来快速地定位所选中的节点里的每个策略。 请注意Details窗格里的设置栏里状态的变化。这些变化是即时的,被马上存储到该GPO中。如果你在有备用域控制器(DC)的环境下,该活动将会置标记,触发备份过程。 如果以Headquarters OU的用户由reskit.com域登录到工作站,你将发现运行菜单被删除了。 如果想了解其它的策略,请查看每个策略的解释标签下的信息文字。
脚本可以建立脚本,用以用户的登录或注销,或系统的启动或关闭。所有的脚本都是通过Windows Scripting Host(WSH)激活的。它们可以是Java Scripts、VB Scripts、.bat和.cmd文件。关于Windows Scripting Host的详细信息,在本文的末尾的详细信息里。 . 建立登录脚本 使用该过程建立用户登录时运行的脚本。 注:该过程使用的是本文附录里的Welcome2000.js脚本,它包括如何创建和保存该脚本文件等方面的内容。在执行所建立登录脚本之前,需要创建Welcom2000.js脚本文件,并将它拷贝到HQ-RES-DC-01域控制器。 建立登录脚本
于是可以登录到某客户工作站,(该工作站有Headquarters OU中的用户),当用户登录时校验所运行的脚本。 建立注销或计算机启动或关闭脚本 可使用前面描述的同样的过程来建立用户注销、计算机启动或关闭时使用的脚本。对于注销脚本,在第四步时要选择注销。 . 关于脚本的其它情况 缺省情况下,组策略脚本是运行在命令窗口下(如.bat或.cmd文件),运行隐藏以及继承的脚本(定义在用户对象中的)时,尽管有组策略允许改变可见性,但缺省情况下其运行过程是可见的(如在Windows NT 4.0中)。用户策略被叫做运行登录脚本可见,或注销脚本可见,它可以通过系统\登录/注销下面的配置\管理模板节点来访问。对于计算机而言,该策略为运行启动脚本可见并可通过系统\登录下的计算机配置\管理模板节点来访问。
安全组过滤通过修改安全组中的计算机或用户的成员关系,来定义任意GPO的作用范围。要做到这一点,要使用安全标签,来设定某GPO的属性里的自由访问控制列表(DACL)。DACL可用来进行性能分析,关于这些方面的细节在本文的前面部分的组策略技术文档。该特性让设计和配置GPO以及所含的策略具有了更多的灵活性。 . 缺省情况下,所有的GPO对所连接的站点、域或OU里的用户、计算机都有效。通过使用DACL,可以改变任意GPO的作用范围,加入或排除掉任意安全组的成员。 使用标准Windows 2000安全标签来修改DACL,可从任意GPO的属性页里访问该标签。 由域或OU的组策略属性页里访问GPO的属性页
通过改变应用于不同组的ACE,管理员能够定制GPO作用用户和计算机(指受该GPO影响的用户和计算机)的方式。修改操作需要进行写操作;任意策略需要有读和允许组策略 ACE以影响组(该策略是作用于这个组的)。 使用否定ACE时一定要小心。对于任意组的否定ACE设置,都拥有比任意允许ACE高的优先级,(作用于用户或计算机),这是由于其成员关系在其它组中。在Windows 2000服务器在线帮助中搜索安全组,就可以找到关于此相互作用的详尽信息。 下面的图11给出了一个安全性设置的例子,该GPO作用于除管理组成员外的全体成员,通过设定应用组策略 ACE为否定,管理组显式地否定了GPO许可。注意,如果某管理组成员同时也是例外一个组的成员,后者对于应用组策略 ACE显式地设定为允许,那么否定具有优先权,该GPO对用户无效。
跟上面类似的情况包括:
注意:可以在你前面部分创建的登录脚本中使用这些相同类型的安全选项。也可以为特定组的成员,或为特定组的成员外的所有成员创建脚本,用以运行。 安全组过滤有两个功能:首先是可以修改哪些组被特定GPO所作用;二是通过对有限的一组管理员(以组的形式)设定为完全控制,从而规定哪组的管理员可以修改GPO的内容。推荐使用这种方式,因为这样可以限制多个管理员同时作出修改的可能性。
阻塞继承和非覆盖可以使用阻塞继承和非覆盖特性控制缺省的继承规则。在该步骤中,于帐号OU下建立一GPO,它是可以缺省地应用于Headquarters、Production和Marketing OU中的用户中。 然后在该帐号OU里建立另外一个GPO,并将它设置为非覆盖。该设置将应用到子OU,即使你在那个OU的某GPO里作出了相反的设置。 接着使用阻塞继承特性,防止在父站点、域和OU(这里为帐号OU)里所设置的组策略被应用于子OU。 这里也包括了如何使某GPO的一部分失效以改善性能。 建立环境 首先为这部分要做的步骤建立环境 建立该GPO环境
现在可以以帐号OU下的任意OU里的任意用户的身份,登录到客户工作站。请注意,不能运行任务管理器-由CTRL+SHIFT+ESC 和CTRL+ALT+DEL都不能打开它。此外,不能激活活动桌面。如右键单击桌面并选择属性,将会见不到网络标签。 作为额外的一个步骤,可颠倒某GPO的使任务管理器失效策略的设置,该GPO跟帐号OU(Headquarters、Production、Marketing)的任意子OU有连接。通过改变该策略的单选按钮,就可以做到这一点。 注意:当帐号OU里的强化用户策略GPO激活时,这样做是没有用的。 使GPO部分失效 由于这些GPO只用于用户设置,因此可以关掉该GPO的计算机部分。这样做可以减少计算机启动时间,因为计算机GPO不需要评估是否存在策略。在这个步骤里,没有任何计算机受这些GPO的影响。因此,使GPO部分失效不能见到立竿见影的效果。然而,由于这些GPO可以在以后连接到不同的OU,这OU里可能有计算机,这样,你也许就想要使这些GPO的计算机部分失效了。 使某GPO的计算机部分失效
阻塞继承 通过阻塞继承,可以使某GPO不从层次结构中的其它GPO中继承策略。在阻塞继承后,只有强化用户策略对该OU中的用户有作用。它比颠倒每个单独的策略简单(这些策略属于作用于该OU中的GPO)。 对子OU阻塞组策略继承
为检验要继承的设置是否被阻塞了,以子OU里的用户身份登录。请注意,网络标签在显示设置属性页里出现了。另外,也请注意任务管理器仍然没法激活,这是因为它在父OU里被设为非覆盖。
连接某GPO到多个站点、域或OU这部分将要说明如何将一GPO连接到活动目录的多个容器中(站点、域或OU)。依靠准确的OU配置,可以使用其它的方法取得类似的组策略效果。例如,使用安全组过滤或阻塞继承。然而,在某些情况下,这些办法不能取得理想的效果。当需要明确地声明哪个站点、域或OU需要怎样的策略时,请使用下面描述的方法。 连接某GPO到多个站点、域和OU
接下来,将连接策略对象连接到其它OU。
现已将一个GPO连接到两个OU上。在这其中一个地方对该GPO所作的改变,将导致两个OU都作出相应的改变。可以通过改变连接策略GPO中的某些策略,并登录到它所作用的OU、Headquarters和子代的客户机上,就可以测试其效果。 回送处理这一部分说明了如何使用回送处理策略,来激活不同系列的基于登录计算机的用户类型组策略。当需要将用户类型策略应用到特定计算机的用户时,该策略是非常有用的。有两种途径可以做到这一点。其中一种是,既考虑所处理的用户的所应用的策略,又应用基于登录计算机的用户策略。另外一种方法在应用用户设置时,并不基于用户对象所处的位置,而仅处理基于该计算机的GPO列表里的策略。关于该方法的细节在前面的组策略白皮书里可以找到。 使用回送处理策略
使用策略对话框中的相邻的策略定位按钮,设置一些用户配置策略。
这样,登录到桌面OU里的计算机上的所有用户,将没有通常应用于他们的策略;相应的,他们拥有在回送策略GPO里设置的用户策略。可以使用安全组过滤部分所描述的步骤,限定特定计算机组的行为,或是把一些计算机移到其它的OU。 在下面的例子里,创建了一个名字为非回送的安全组。可这样实现这一目的:使用活动目录用户和计算机插件,单击组容器,单击新建,并创建该全局安全组。 在这个例子里,如果采取以下步骤的话,非回送安全组里的计算机,将被排除在该回送策略之外:
其它的组策略场景在熟悉管理组策略的方式后,可以建立一些安全策略,进行软件的安装和维护,并重定向用户文件夹-如我的文档文件夹。这些主题在下面的渐进指南里有详细的论述,并可在Windows 2000服务器网站上找到:
附录:Welcome2000.js示例脚本在论述如何创建和存储示例脚本文件之后,附上了Welcome2000.js示例脚本的代码。 创建和存储该示例脚本
Welcome2000.js脚本代码如下所示: // Script Sample for Windows Scripting Host // // Define constant values. // var MB_ICONINFORMATION = 0x40; var MB_ICONQUESTION = 0x20; var MB_ICONYESNO = 0x04 var IDYES = 6; var IDTIMEOUT = -1; var POPUP_WAIT = 5; // close popup after 5 seconds. // // Create ActiveX Controls // var Shell = WScript.CreateObject("WScript.Shell") var Env = Shell.Environment("PROCESS") // // Set greeting message. // var strTitle = "Sample Login Script"; var strMsg = "Welcome \"" + Env("UserName") strMsg += "\" to the \"" + Env("UserDomain") + "\" domain\r\n\r\n" Shell.Popup(strMsg, POPUP_WAIT, strTitle, MB_ICONINFORMATION); // // Launch Internet Explorer if user wants. // strMsg = "Do you want to visit the Windows 2000 web site?"; var strURL; strURL = "http://www.microsoft.com/windows"; var intAnswer = Shell.Popup(strMsg, POPUP_WAIT, strTitle, MB_ICONQUESTION | MB_ICONYESNO ); if (intAnswer == IDYES) { Shell.Run(strURL);
相关链接Windows 2000服务器通用基础结构配置渐进指南 Windows 2000服务器在线帮助 |