利用组策略部署软件全攻略之一
可
以利用Active Directory的组策略功能来为公司的计算机部署软件。在规模比较大的网络环境里面,为了降低我们系统管理逐台给每个客户端去安装、更新软件的劳动量,此时我们就可以利用Active Directory的组策略来进行对公司内部网络计算机软件进行部署、升级等。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
î
软件部署概论
î
制作MSI软件
î
创建软件分发点
î
使用管理安装选项命令Msiexec设置软件包在客户机安装的相关选项
î
将软件发布给用户
î
将软件指派给用户或计算机
î
软件升级与重新部署
î
修改部署软件
î
发布“非-MSI”的软件
î
软件部署的其他设置
一、软件部署概论
1、
将软件指派给用户
当将一个软件通过组策略的GPO指派给域内的用户后,则用户在域内的任何一台计算机登录时,这个软件都会被“通告”给该用户,但这个软件并没有真正的被安装,而只是安装了与这个软件有关的部分信息。只有在一下两种情况下,这个软件才会被自动安装:
Ø
开始运行此软件 例如用户登录后执行操作:“开始”→“所有程序”点击该软件的快捷方式,或是双击桌面上的快捷方式后,就会自动安装此软件。
Ø
利用“文件启动”功能 例如我们架设这个被“通告”的程序为Microsoft Excel,当用户登录后,他的计算机会自动将扩展名为.xls的文件与Microsoft Excel关联在一起,此时用户只要双击扩展名为.xls的文件,系统就会自动安装Microsoft Excel。
2、
将软件指派给计算机
当将一个软件通过组策略的GPO指派给域内的计算机后,在这些计算机启动时,这个软件就会自动安装在这些计算机里,而且是安装到公用程序组内,也就是安装到Documents and Settings\All Users文件夹内。任何用户登录后,都可以使用此软件。
3、
将软件发布给用户
当将一个软件通过组策略的GPO发布给域内的用户后,该软件不会自动安装到用户的计算机内,用户需要通过以下两种方式来安装这个软件:
Ø
执行操作:“开始”→“控制面板”→“添加或删除程序”→添加程序
Ø
利用“文件启动”功能
举例说,架设这个被发布的软件为,Microsoft Excel,虽然在Active Directory内会自动将扩展名为.xls的文件与Microsoft Excel关联在一起,可是用户登陆时,他的计算机不会自动将扩展名为.xls的文件与Microsoft Excel关联在一起,也就是对此计算机来说,扩展名为.xls的文件是一个“未知文件”,不过只要用户双击扩展名为.xls的文件,他的计算机就会通过Active Directory得知扩展名为.xls的文件是与Microsoft Excel关联在一起,因此会自动安装Microsoft Excel。
4、
自动修复软件
一个被发布或指派的软件,在安装完成后,如果此软件程序内有关键的文件损坏、遗失或被用户不小心删除,系统会自动探测到此不正常现象,并且会自动修复、重新安装此软件。
5、
删除软件
一个被发布或指派的软件,在用户将其安装完成后,如果不想再让用户使用此软件,只要将该程序从GPO内发布或指派的软件清单删除,并设置下次用户登录或计算机启动时,自动删除这个软件就可以了。
二、制作MSI软件
在我们实际使用当中不是每个软件都是MSI软件,那么要想使用组策略是去分发软件我们就不需要将该软件格式转换为MSI格式的软件。有很多公司提供制作Windows Installer Package的应用程序,这里我们以Advanced Installer这个软件为例来讲解。
第一步:我们准备好要分发的软件,这里我们以ethereal为例。
![](https://i-blog.csdnimg.cn/blog_migrate/5b8055be40a2a49844caf865e206f9d7.jpeg)
第二步:运行Advanced Installer打开工程向导→按照向导选择语言→然后在单击“重新包装安装”→点击“确定”按钮。
![](https://i-blog.csdnimg.cn/blog_migrate/c791488f3c7f6a627b10db0c174c8706.jpeg)
第三步:按照向导提示关闭其他正在运行的程序,点击“下一步”
![](https://i-blog.csdnimg.cn/blog_migrate/cbb736340863c07fe06f31c07cba84b6.jpeg)
注:假如我们不关闭其他程序,那么下面Advanced Installer在封装该软件时候就会记录到不属于该软件信息,对于我们分发软件中会引起一些不必要的问题。
第四步:选中“启用新的安装捕获”,点击“下一步”
![](https://i-blog.csdnimg.cn/blog_migrate/ac1b21c29b1eac7452f447e7aac73387.jpeg)
第五步:指定要重新包装的程序路径已经产品名、版本和公司名称信息。
![](https://i-blog.csdnimg.cn/blog_migrate/3cfa11af9554ca778070607dd28752c9.jpeg)
第六步:选中“开始一个新的系统捕获”,单击“下一步”按钮。
![](https://i-blog.csdnimg.cn/blog_migrate/bbbfa1f4f62e56bd2575d72f440b04d5.jpeg)
第七步:指定“安装捕获配置文件”路径,其他默认,点击“下一步”。
![](https://i-blog.csdnimg.cn/blog_migrate/86e4f509bc1934d478765aa57e8fc26d.jpeg)
第八步:再次确认提醒是否关闭所有不必要的应用程序。
![](https://i-blog.csdnimg.cn/blog_migrate/3d868283f89a1b47fa63992d9346cf84.jpeg)
第九步:记录当前系统状态,以便后面记录安装源程序后系统的变化。
![](https://i-blog.csdnimg.cn/blog_migrate/6be9d82c1b89bf85a013d49e2b804acd.jpeg)
第十步:安装一遍源程序(安装步骤这里不再详细说明)。
![](https://i-blog.csdnimg.cn/blog_migrate/2362d1cb4102a4e13939489dc4c61caa.jpeg)
第十一步:Advanced Installer会把源程序安装后系统的变化记下,然后点击“完成”按钮后开始“导入”。
![](https://i-blog.csdnimg.cn/blog_migrate/615ef02b7b4aeefeebbb568f51f8aa4f.jpeg)
第十二步:接下来设置重新封装后,msi文件保存目录和文件名,首先点击下图中的“媒介”按钮,然后再设置“媒介”中“文件夹”和“文件名”,最后点击“构建”来构建工程。
![](https://i-blog.csdnimg.cn/blog_migrate/c4510de791e8b5b3e6a38ee06bad1ea4.jpeg)
构建过程:
![](https://i-blog.csdnimg.cn/blog_migrate/b77885e9ef29955bf8c1812842cf9b63.jpeg)
第十三步:构建完成后,点击“确定”按钮,完成,确定后C:\Documents and Settings\njzhp\桌面\MSI下就有重新包装后的msi安装包了,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/e031e6ac60e941adb15f6bdaaa6537b4.jpeg)
三、创建软件分发点
“软件分发点”是用于存储Windows Installer Package共享文件夹。可以在域内的任何一台服务器内建立一个文件夹,如D:\packages,这个文件夹是用来存储Windows Installer Package文件的。
第一步:将packages文件夹设为共享文件夹,并赋予一个共享名,建议将此共享文件夹隐藏起来,也就是共享名后面附加$符号,如packages$。
共享权限
![](https://i-blog.csdnimg.cn/blog_migrate/a23182645b2bc492eb4083567834de5e.jpeg)
NTFS权限
![](https://i-blog.csdnimg.cn/blog_migrate/5f803bc7b2af443afa015c159e9346af.jpeg)
第二步:在共享文件夹内建议个用来存放“ethereal”的子文件夹,然后将“ethereal.msi”复制到次文件夹内,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/e12744948685471fd8e9c125b66dfa91.jpeg)
四、使用管理安装选项命令Msiexec设置软件包在客户机安装的相关选项
语法 msiexec /a Package
参数 /a (或-a) #应用管理安装选项。
Package #指定Windows 安装程序包文件的名称。(本地路径)
这个过程可以设置某些软件安装时需要的序列号等内容,这些设置项在客户机那边安装是就自动完成,不用再设了!
![](https://i-blog.csdnimg.cn/blog_migrate/30278ceaa9308c1443c36f2972d48fc9.jpeg)
第一步:这里我们来设置ethereal安装时的一些配置文件,执行后会以向导的形式引导管理员安装,“网络位置”指到分发点下存放该软件的子文件夹,本例为d:\ package$\ ethereal\
![](https://i-blog.csdnimg.cn/blog_migrate/1c737dd9d9deaae08dafb038ae18e998.jpeg)
第二步:其它的可以按默认的设置进行
![](https://i-blog.csdnimg.cn/blog_migrate/7579f44e740bdabdf16630eb51d2ee30.jpeg)
第三步:会把相关的文件装到d:\ package$\ ethereal\下,包括后面在GPO中新建分发程序包要指定的msi安装包ethereal.msi。
![](https://i-blog.csdnimg.cn/blog_migrate/bffc7dea9d706e81b6afdd1a02a3d6a2.jpeg)
五、将软件发布给用户
(一)、发布软件
第一步:点击DC上点击“开始”→“管理工具”→打开“Active Directory用户和计算机”→右键点击“zhp.com” 域→在弹出菜单中点击“新建”按钮→点击“组织单位”。
![](https://i-blog.csdnimg.cn/blog_migrate/1b2e1254c718fcf60043e347c5b280ba.jpeg)
第二步:在打开“新建对象-组织单位”的对话框中输入你要新建OU的名称,这里我们输入“Test”→点击“确定”完成Test Ou的创建。
![](https://i-blog.csdnimg.cn/blog_migrate/2e43ec2db964d4a53937240c7d4a6425.jpeg)
第三步:右键点击“Test”OU→在弹出菜单中点击“新建”按钮→点击“用户”。
![](https://i-blog.csdnimg.cn/blog_migrate/e3ebf048d7d6e6aa6b19b6201b74d636.jpeg)
第四步:在打开“新建对象-用户”的对话框中输入你要新建用户的名称等相关信息,这里我们输入“aruba”→点击“下一步”按钮。
![](https://i-blog.csdnimg.cn/blog_migrate/a0e939aa23a3dc5799a1b48174823479.jpeg)
第五步:在打开“新建对象-用户”的对话框中输入你要为该用户设置的初始密码→点击“下一步”按钮。
注:这里我们为了方便实验,在下面直接选择“密码永不过期”。
第六步:在打开“新建对象-用户”的信息最终确认对话框中,我们直接点击“完成”按钮完成新用户创建。
![](https://i-blog.csdnimg.cn/blog_migrate/6957b6e02cb99d5597f2e1c3158b1829.jpeg)
第七步:点击DC上点击“开始”→“管理工具”→打开“组策略管理”控制台→右键点击“Test”OU→在弹出的下拉菜单中点击“创建并链接GPO”。
![](https://i-blog.csdnimg.cn/blog_migrate/644257bc5f40d74c968b56cb59fc5591.jpeg)
第八步:在打开的“新建GPO”对话框中输入你要建立的GPO名称,这里我们输入“软件分发”→点击“确定”按钮。
![](https://i-blog.csdnimg.cn/blog_migrate/1e6635c969e88a3fcf1007d902462287.jpeg)
第九步:右键点击“软件分发”GPO→点击“编辑”按钮。
![](https://i-blog.csdnimg.cn/blog_migrate/08f5033f96c7226c355e5b9c1b4fd04c.jpeg)
第十步:在打开的“组策略编辑器”右键点击“用户配置”下的“软件设置”里面的“软件安装”→在弹出下拉菜单中点击“属性”按钮。
![](https://i-blog.csdnimg.cn/blog_migrate/826e37f00421b39163d3869a8ce5270f.jpeg)
第十一步:在弹出“软件安装属性”对话框中“常规”标签里面来设置“默认程序包位置”,在“默认程序包位置”输入软件的存储位置→点击“确定”按钮。
注:也就是软件分发点共享文件夹,前面我们软件分发点共享文件夹设置为隐藏共享,故不能利用浏览来找到这个软件分发点的共享文件夹。切忌此处必须是网络路径(UNC路径)。
第十二步:在 “组策略编辑器”右键点击“用户配置”下的“软件设置”里面的“软件安装”→在弹出下拉菜单中点击“新建”按钮→点击“程序包”按钮。
![](https://i-blog.csdnimg.cn/blog_migrate/5dcbefa0867470ffa21971b6c9ebda34.jpeg)
第十三步:在弹出“打开”对话框中,通过网络路径选择你要发布的软件包Ethereal.msi→单击“打开”按钮。
第十四步:在弹出“部署软件”对话框中选择“已发布”→然后单击“确定”按钮。
![](https://i-blog.csdnimg.cn/blog_migrate/8709d7a6f4875fbd59adc8ebcaf39af0.jpeg)
第十五步:如下图完成发布后的,从图中右边可知“Ethereal”已被成功发布。
![](https://i-blog.csdnimg.cn/blog_migrate/8f710790076dc036adb80c64cdc705a0.jpeg)
(二)、测试安装发布软件
下面我们以Test OU下的aruba用户在任何一台客户端计算机用aruba帐号登录域。
第一步:在客户端计算机上点击“开始”→“控制面板”→“添加或删除程序”→单击“添加新程序”,之后对话框中的“从网络添加程序”处就会显示所有已发布给该用户的软件了。
![](https://i-blog.csdnimg.cn/blog_migrate/5576ab42f1c15f736a52ea90a8eb2372.jpeg)
第二步:选择你要安装的软件后,单击“添加”按钮接下来会由Windows Installer Service来负责安装此软件。以我们所用的软件Ethereal来说,安装完成后在“开始”→“所有程序”和桌面内就会多一个“Ethereal”软件的快捷方式。
![](https://i-blog.csdnimg.cn/blog_migrate/dabde643b556655ce5b9062aaad8ef31.jpeg)
(三)、测试自动修复软件功能
接下来我们就要来测试组策略分发的软件的自动修复软件功能,当分发的软件某个文件被删除了,测试当系统发现有文件遗失时,是否会自动修复、重新安装此软件。这里我们用Office来进行测试,会比较直观和方便。我之前已经先将Office发布给TestOU下的用户了,方法参照前面“将软件发布给用户”。
第一步:我们先给aruba用户一个Power User权限。
第二步:当aruba用户登录后,将Office11内的Excel中的其中一个文件删除。
![](https://i-blog.csdnimg.cn/blog_migrate/28fc8a11dcb6c386ab094a20bb2e8991.jpeg)
第三步:执行“开始”→“所有程序”→“Microsoft Office”→“Microsoft Offiece Excel 2003”程序后,因为系统检测到Microsoft Offiece Excel 2003软件中的EXCEL文件被删除了,故会自动重新再安装此软件。
![](https://i-blog.csdnimg.cn/blog_migrate/21593f6cdff10f13b47872fd37791b46.jpeg)
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
(四)、取消发布软件
如果要取消发布软件,则在下图所示对话框中执行操作:右击该软件
→
“所有任务”
→
“删除”
,然后出现以下两种选择:
Ø
立即从用户及计算机卸载软件
当用户下次登录时或计算机启动时,此软件将被自动删除。
Ø
允许用户继续使用软件,但禁止新的安装
用户已经安装的软件不会被删除,可以继续使用,不过新用户登陆时,此软件就不能使用。
![](https://i-blog.csdnimg.cn/blog_migrate/c0b1be3c8694b14edf4bdebc9539f29d.jpeg)
此时我们用
aruba
用户登录客户端验证下,客户端的桌面、开始菜单、添加或删除程序里面都没有该软件和软件的快捷方式了。
![](https://i-blog.csdnimg.cn/blog_migrate/51cc5ea06e669a44c61f87cf94cc0cd2.jpeg)
未完待续,大家敬请期待。。。。
转载于:https://blog.51cto.com/zhouhaipeng/118995