我们可以根据管理任务,为组策略选择合适的部署级别。
组策略对象存储在两个位置,链接GPO的ActiveDirectory容器和域控制器上的Sysvol文件夹。
GPO是组策略对象的缩写,GPO是组策略设置的集合,是存储在ActiveDirectory中的一个虚拟对象。
GPO由组策略容器(GPC)和组策略模板(GPT)组成,GPC包含GPO的属性信息,存储在域中每台域控制器活动目录中;GPT包含GPO的数据,存储在Sysvol的/Policies子目录下。
组策略管理可以通过组策略编辑器和组策略管理控制台(GPMC),组策略编辑器是Windows操作系统中自带的组策略管理工具,可以修改GPO中的设置。
GPMC则是功能更强大的组策略编辑工具,GPMC可以创建,管理,部署GPO,最新的GPMC可以从微软网站下载。
至此,我们对组策略的功能,结构和管理工具都有了一定的了解,下篇博文中我们将通过实例为大家介绍如何对组策略进行部署及管理。
组策略轻松实现软件发布
在IT工程师的运维工作中,有很多没有技术含量的事务性操作是很令人头疼的,例如为客户机安装软件。
有些朋友看到这里估计会很不以为然,想我等IT专业人士,纵横江湖多年,无论国内国外,正版盗版,安装个小小软件还不是手到擒来!
其实不然,在一台机器上安装软件当然不难,要是让你在一千台机器上安装Office呢?
想想看,要是用传统的方式一台一台地安装,操作者是很需要有一番直面惨淡人生的勇气的。
因此,为客户机选择一种快速部署软件的解决方案就成了工程师们面临的一个问题。
解决这个问题有多种备选方案,例如微软的SCCM,它在功能上非常令人满意,但是价格嘛….本文将为大家介绍一种性价比较高的软件部署解决方案-利用AD的组策略完成客户机软件部署。
组策略部署软件的思路是把要部署的软件存储在文件服务器的共享文件夹中,然后通过组策略告知用户用户或计算机,某某服务器的某某文件夹有要安装的软件,赶紧去下载安装。
这样一来,我们只要设置好组策略,就可以等待客户机自动进行软件安装了,完全不用在客户机上一一进行部署了。
组策略进行软件安装有自己的特点,那就是组策略支持安装的软件不能是EXE格式。
EXE是我们平时使用最多的可执行程序格式,组策略不支持EXE是个很大的遗憾,话又说回来了,要是组策略什么格式都支持,那SCCM的销售就要受影响了,呵呵。
组策略支持的软件格式最好是MSI格式,ZAP或MST也是可以的。
今天我们将通过一个实例为大家介绍如何通过组策略进行软件部署,拓扑如下图所示,Florence是域控制器,Istanbul是文件服务器,Perth是测试用的客户机。
首先,我们要准备测试用的软件。
我们准备的软件是微软的LiveWriter,这个软件想必各位博友是非常熟悉的,非常著名的离线博客工具。
如图1所示,我们把LiveWriter存储在istanbul的一个共享文件夹中,大家可以看到程序的扩展名是MSI。
图1
准备好了软件,我们就可以来设置组策略了。
在Florence上打开ActiveDirectory用户和计算机,如图2所示,右键点击人事部OU,准备为此OU创建一个组策略。
人事部OU内有一个张建国用户,张建国用户使用的客户机就是Perth。
图2
如图3所示,我们在人事部OU的属性中切换到“组策略”标签,创建一个名为LiveWriter的组策略。
图3
如图4所示,编辑新创建的LiveWriter组策略属性,准备在组策略中设置软件安装。
组策略可以针对用户或计算机进行软件安装设置,本例中我们将针对用户。
在组策略中定位到用户配置-软件设置-软件安装,选择新建一个程序包。
图4
如图5所示,我们为新创建的程序包选择路径,\\instanbul\livewriter\writer.msi是我们要用组策略进行部署的软件。
图5
接下来要选择部署方式,可以选择发布或指派。
发布和指派的区别在于,发布只能针对用户,而指派则既能针对用户也能针对计算机;而且指派有一定的强制性,但发布则不具有强制性。
本文中我们选择的部署方式是发布,下篇博文中将为大家举一个指派的例子。
图6
组策略部署完毕,如图7所示,组策略已经从MSI文件中识别出了软件的版本。
图7
组策略设置完毕后,我们在客户机Perth上测试一下。
由于此次组策略软件安装针对的是用户,因此我们需要让张建国用户注销后重新登录,这样策略才能生效。
如图8所示,张建国登录后打开控制面板中的添加或删除程序,点击“添加新程序”,就可以看到有一个WindowsLiveWriter程序可供选择,点击“添加”就可以开始安装了。
图8
软件安装过程基本上没有什么提示,很快软件安装完毕,如图9所示,我们在Perth的程序组中看到了利用组策略部署的LiveWriter。
图9
组策略不仅能快速安装软件,也可以用于卸载软件。
如图10所示,我们在组策略中找到新创建的程序包,在任务中选择“删除”。
图10
如图11所示,我们选择立即删除软件,但实际上必须等到用户注销重新登录后,软件的卸载策略才可以生效。
图11
我们在Perth上让用户张建国注销系统后重新登录,如图12所示,我们可以看到系统正在自动删除软件。
图12
如图13所示,LiveWriter已经被组策略成功卸载。
从这个例子中,我们可以看到,组策略这种集中管理的思想用于实现软件安装还是相当的方便,下篇博文中我们将再为大家举一个软件指派的例子。
图13
组策略指派Office2003分发
上篇博文中我们介绍了如何利用组策略在客户机上安装软件,我们用分发的部署方式为大家举了一个软件安装的实例,本文中我们将为大家介绍如何用组策略通过指派的方法实现软件安装。
指派可以针对用户,也可以针对计算机,相比较分发的部署方式更为灵活。
实验拓扑如下图所示,我们这次准备部署的软件是Office2003。
如图1所示,在文件服务器Istanbul的Office共享文件夹中,我们看到了Office2003的安装文件。
由于组策略不能支持EXE文件,因此我们需要使用PRO11.MSI文件进行组策略指派。
图1
和上文类似,我们在域控制器上打开ActiveDirectory用户和计算机,如图2所示,在人事部OU上创建一个名为Office2003的组策略。
图2
如图3所示,我们在Office2003组策略内选择新建一个程序包,这个程序包仍然针对的是人事部OU内的用户。
图3
我们指定Istanbul服务器上Office共享文件夹内的PRO11.MSI是要进行安装的程序包。
图4
本次部署方式我们选择指派,和发布相比,指派具有一定的强制性。
图5
如图6所示,Office2003的程序包已经准备完毕。
图6
接下来我们选择一个人事部的用户张建国来测试一下,如图7所示,张建国正在登录。
图7
张建国登录后,如图8所示,我们会惊喜地发现Office2003貌似已经安装完成了,程序组已经被创建出来了。
其实此时Office2003还没有开始安装,组策略只是创建了程序组,快捷方式,同时在注册表中设置了和Office程序关联的文件名。
用户只要点击任何一个Office应用程序,或者打开一个Office文件,都会触发Office2003安装程序。
给大家举个例子,我们执行了Office程序组中的Word。
图8
执行了Word后,Office2003的安装程序开始启动,如图9所示,摘要中显示出此次安装的目的是要安装Word。
图9
经过一段时间的安装后,如图10所示,Word顺利安装完成。
此时,即使用户卸载了Office,下次启动后仍然会面对Office程序组,指派的强制性由此可见一斑。
大家可以根据发布和指派的部署特点,根据自己的需要合理选择组策略的软件部署方式。
图10
Veritas创建MSI文件
在之前的博文中,我们介绍了组策略中可以使用发布和指派两种手段进行软件分发。
我们举例发布的都是MSI格式的软件,但很多小型的工具软件并没有提供MSI格式的安装程序,大多只有EXE格式的安装文件。
众所周知,组策略发布并不支持EXE格式的安装程序,那我们应该如何处理这些工具软件呢?
今天我们要为大家介绍的就是如何把这些EXE格式的安装程序转换为MSI格式的文件,格式转换之后,我们就可以顺利地对这些MSI格式的工具进行发布或指派了。
MSI文件是WindowsInstaller的数据包,它其实是一个数据库,包括了产品安装或卸载所需要的各种参数。
这些参数中比较重要的就是软件安装过程中对文件系统以及注册表的修改,获得了这些参数,就可以创建相关的MSI文件了。
那么,我们如何才能获得这些参数呢?
基本的思路是,先用特定软件对一个干净的操作系统做一个快照,记录一下当前系统的文件系统和注册表。
然后开始安装工具软件,安装完工具软件后再对操作系统做一次快照。
把安装软件前后的快照内容进行对比,就知道工具软件在安装过程中对文件系统和注册表进行了哪些修改,进而可以创建出工具软件的MSI文件。
可以完成MSI文件制作的特定软件很多,例如我们在APP-V系列博文中曾经介绍过,序列化虚拟应用程序时就可以生成MSI文件。
但APP-V的环境搭建过于复杂,今天我们为大家介绍一款入门级的MSI制作工具-Veritas。
这款工具就集成在WindowsServer2000的安装光盘上,注意,是Win2000的安装光盘,不是Win2003的安装光盘。
我们为大家实际举个例子,用SWIADMLE制作Winrar的MSI文件。
找一台干净的系统,还没有安装Winrar软件。
我们在计算机上打开Win2000安装光盘。
如图1所示,在安装光盘的Valueadd\3rdparty\mgmt\winstle目录下,我们看到了SWIADMLE.MSI文件,双击文件开始安装。
图1
如图2所示,SWIADMLE的安装过程非常简单,基本没有任何交互过程,很快安装完毕。
图2
安装完SWIADMLE后,如图3所示,依次点击开始-程序-VERITASSoftware-VeritasDiscover,准备对当前系统先做一次快照。
图3
如图4所示,VeritasDiscover开始执行,Veritas的界面非常粗糙,不敢恭维,点击“Next”继续。
图4
如图5所示,我们需要填写一些参数。
本次任务针对的应用程序是Winrar,生成的文件会存储在E盘的根目录下,文件名是winrar.msi。
图5
如图6所示,我们要选择一个盘符用于存储建立快照时所产生的临时文件,我们选择把临时文件存放在E盘。
图6
如图7所示,我们要选择对哪个磁盘建立快照。
考虑到安装Winrar软件,只会影响到C盘的文件系统,因此我们只选择对C盘建立快照。
图7
如图8所示,我们可以选择把C盘的哪些文件夹排除在快照之外,例如安装Winrar并不影响Inetpub目录,因此可以考虑把Inetpub目录排除在快照之外。
如果Winrar安装时修改的注册表项较多,还可以勾选“EnhancedRegistryScan”以进行增强的注册表扫描。
图8
如图9所示,Veritas开始对当前系统创建快照,记录当前的文件系统和注册表参数。
图9
如图10所示,安装工具软件之前的快照已经创建完毕,点击“确定”按钮,Veritas将提示我们安装Winrar工具软件。
图10
如图11所示,在Veritas的提示下,我们选定Winrar的安装程序,准备安装Winrar。
图11
如图12所示,Winrar开始安装,安装过程不再赘述。
图12
安装完Winrar后,文件系统和注册表发生了变化。
再次运行VeritasDiscover,如图13所示,这次我们要创建的是安装软件之后的系统快照。
图13
第二次快照非常简单,如图14所示,Veritas自动把两次快照进行对比,就在E盘的根目录下生成了Winrar.msi文件。
经过测试,Winrar.msi可以正常安装,用于组策略发布,大家可以实验测试一下。
根据使用经验,一般的小工具用Veritas处理一下还是没有问题的。
图14