Angelo Lee's Blog
This is my kingdom .If i don't fight for it ,who will ?
组策略轻松实现软件发布
         IT 工程师的运维工作中,有很多没有技术含量的事务性操作是很令人头疼的,例如为客户机安装软件。有些朋友看到这里估计会很不以为然,想我等 IT 专业人士,纵横江湖多年,无论国内国外,正版盗版,安装个小小软件还不是手到擒来!其实不然,在一台机器上安装软件当然不难,要是让你在一千台机器上安装 Office 呢?想想看,要是用传统的方式一台一台地安装,操作者是很需要有一番直面惨淡人生的勇气的。
         因此,为客户机选择一种快速部署软件的解决方案就成了工程师们面临的一个问题。解决这个问题有多种备选方案,例如微软的 SCCM ,它在功能上非常令人满意,但是价格嘛 …. 本文将为大家介绍一种性价比较高的软件部署解决方案-利用 AD 的组策略完成客户机软件部署。
         组 策略部署软件的思路是把要部署的软件存储在文件服务器的共享文件夹中,然后通过组策略告知用户用户或计算机,某某服务器的某某文件夹有要安装的软件,赶紧 去下载安装。这样一来,我们只要设置好组策略,就可以等待客户机自动进行软件安装了,完全不用在客户机上一一进行部署了。
         组策略进行软件安装有自己的特点,那就是组策略支持安装的软件不能是 EXE 格式。 EXE 是我们平时使用最多的可执行程序格式,组策略不支持 EXE 是个很大的遗憾,话又说回来了,要是组策略什么格式都支持,那 SCCM 的销售就要受影响了,呵呵。组策略支持的软件格式最好是 MSI 格式, ZAP MST 也是可以的。
         今天我们将通过一个实例为大家介绍如何通过组策略进行软件部署,拓扑如下图所示, Florence 是域控制器, Istanbul 是文件服务器, Perth 是测试用的客户机。
 
         首先,我们要准备测试用的软件。我们准备的软件是微软的 LiveWriter ,这个软件想必各位博友是非常熟悉的,非常著名的离线博客工具。如图 1 所示,我们把 LiveWriter 存储在 istanbul 的一个共享文件夹中,大家可以看到程序的扩展名是 MSI
1
 
准备好了软件,我们就可以来设置组策略了。在 Florence 上打开 Active Directory 用户和计算机,如图 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 所示,张建国登录后打开控制面板中的添加或删除程序,点击“添加新程序”,就可以看到有一个 Windows Live Writer 程序可供选择,点击“添加”就可以开始安装了。
8
 
软件安装过程基本上没有什么提示,很快软件安装完毕,如图 9 所示,我们在 Perth 的程序组中看到了利用组策略部署的 LiveWriter
9
 
组策略不仅能快速安装软件,也可以用于卸载软件。如图 10 所示,我们在组策略中找到新创建的程序包,在任务中选择“删除”。
10
 
如图 11 所示,我们选择立即删除软件,但实际上必须等到用户注销重新登录后,软件的卸载策略才可以生效。
11
 
我们在 Perth 上让用户张建国注销系统后重新登录,如图 12 所示,我们可以看到系统正在自动删除软件。
12
 
如图 13 所示, LiveWriter 已经被组策略成功卸载。从这个例子中,我们可以看到,组策略这种集中管理的思想用于实现软件安装还是相当的方便,下篇博文中我们将再为大家举一个软件指派的例子。
13
posted on 2010-03-25 20:51  Angelo Lee  阅读(314)  评论(0编辑  收藏  举报