在需要给大量客户端部署软件时,使用组策略的软件分发功能还是很有效率的。比如前面文章中谈到的部署limitlogin工具,需要在客户端安装电脑上安装软件的客户端,如果手动安装需要耗费很多时间,效率也很低。如果使用组策略则可以一步到位,一次性全部部署,而且不会影响到用户的日常工作。下面我们就来详细介绍一下使用组策略进行软件分发的过程:
Windows主要有两种安装程序包,一种是扩展名为.exe的安装程序;另一种是扩展名为.msi的安装程序。对于.msi的安装程序,组策略可以直接发布。对于.exe的安装程序,则需要转换为.msi安装程序或创建一个与其对应的扩展名为.zap的文本文件。注意:.zap包只能发布,不能指派;而.msi程序即可以发布,也可以指派。发布和指派的区别如下:
1 发布的软件,只能通过“添加/删除程序”中的“添加新程序”中添加,不能自动安装在用户的计算机中。
2 指派的软件,在用户登录的时候,系统会自动安装,不需要用户添加。不过,指派的软件也可以在“添加/删除程序”中添加和删除。
3 发布的软件,用户可以根据需要添加或删除,而指派的软件,如果用户删除,当用户下次登录时,系统还是会自动安装。
要分发软件,首先需要在服务器上建一个共享文件夹,用于存放需要分发的软件,如下图:
组策略应用之一——软件分发_职场
下面我们来看看软件分发的步骤:
1. 发布MSI格式的软件
1 首先在需要分发软件的OU上建一个策略,如下图:
组策略应用之一——软件分发_组策略_02
2 在“组策略编辑器”窗口,选择“User Configuration—Software Settings—Software installation”,在右面板上,点右键,选择New—Package,如下图:
组策略应用之一——软件分发_职场_03
3)在“Open”对话框中,输入软件所在的位置,注意:这里的路径必须使用\\server\folder\setup.msi的方式,不能使用C:\path\setup.msi的方式,否则,安装的时候会找不到路径。
组策略应用之一——软件分发_软件_04
4 在选择好需要部署的软件后,会弹出“Deploy Software(部署软件)”对话框,在这里可以选择Published(发布)、Assigned(指派)、Advanced(高级),大家可以根据自己的需求进行选择。在这里我们选择advanced,如下图:
组策略应用之一——软件分发_windows_05
5 在点击OK后,将弹出软件属性对话框,如下图:可以看到软件的名称、版本、URL地址等。
组策略应用之一——软件分发_休闲_06
6 点击“Deployment(部署)”标签,我们可以选择Published(发布)或Assigned(指派),这里我们选择Assigned,如果勾选“Install this application at logon(在登录时安装此应用程序)”,那么在用户登录时,系统会自动安装此应用程序。如下图:
组策略应用之一——软件分发_软件_07
7 OK,完成该软件的指派。
组策略应用之一——软件分发_windows_08
 
2. 发布EXE安装程序
1 制作zap
[Application]为文件头,Friendlyname为安装程序名称,SetupCommand为安装程序名称,Displayversion为应用程序版本,Publisher为说明信息。如下图,是应用程序7-zip.zap包。
组策略应用之一——软件分发_组策略_09
2)在“组策略编辑器”窗口,选择“User Configuration—Software Settings—Software installation”,在右面板上,点右键,选择New—Package,如下图:
组策略应用之一——软件分发_职场_10
3)在“Open”对话框中,输入软件所在的位置,如下图:
组策略应用之一——软件分发_职场_11
4)在选择好需要部署的软件后,会弹出“Deploy Software(部署软件)”对话框,在这里可以选择Published(发布)、Assigned(指派)、Advanced(高级),大家可以根据自己的需求进行选择。在这里我们选择advanced,如下图:
组策略应用之一——软件分发_软件_12
5)在点击OK后,将弹出软件属性对话框,如下图:可以看到软件的名称、版本等信息。
 
组策略应用之一——软件分发_windows_13
6)点击“Deployment(部署)”标签,这里只能选择Published(发布),而且无法勾选“Install this application at logon(在登录时安装此应用程序)”,所以发布的程序只能在“添加/删除程序”中的“添加新程序”中添加。
组策略应用之一——软件分发_软件_14
7 OK完成应用程序的发布。
8 我们也可以使用一些工具将.exe文件转换为.msi,比如:Advanced InstallerWinINSTALL等。这些软件的使用都比较简单,这里就不再说明。应用程序做成.msi后,就按.msi的发布步骤发布就可以了。
 
3. 用户权限的设置
用户在安装软件时需要“本机管理员”权限,但是默认的域用户是不具备本地管理员权限的,而且我们也不可能将所有人都设置为本地管理员。所以我们需要为用户设置权限,这样用户才能安装使用组策略分发的软件。
1 将需要安装组策略分发软件的计算机移动到一个OU,然后在这个OU上建组策略,如下图:
组策略应用之一——软件分发_软件_15
2)选择“Computer Configuration—Windows Installer”,双击右面板上的“Always install with elevated privileges(永远以高特权安装)”,如下图:
组策略应用之一——软件分发_休闲_16
3)在弹出的对话框中,勾选“Enabled(已启用)”,然后点OK,如下图:
组策略应用之一——软件分发_职场_17
4)选择“Computer Configuration—Windows Settings—Security Settings—Registry”,在右面板上,点右键,选择Add Key,如下图:
组策略应用之一——软件分发_职场_18
5)在弹出的“Select Registry Key”对话框中,选择“CLASSES_ROOT”,然后点OK,如下图:
组策略应用之一——软件分发_软件_19
6)在弹出的安全设置对话框中,添加“Domain Users”,并设置权限为完全控制,如下面图:
组策略应用之一——软件分发_职场_20
组策略应用之一——软件分发_休闲_21
7)在弹出的“Add Object(添加对象)”对话框中,选择“Configure this key then(配置这个项,然后”,再选择“Replace existing permissions on all subkeys with inheritable permissions(替换所有带继承权限的子文件夹和文件上的现存权限)”,然后点OK,如下图:
组策略应用之一——软件分发_组策略_22
按上述步骤,添加另外两项MACHINEUSERS,并且允许Domain Users完全控制。
组策略应用之一——软件分发_组策略_23
8)选择“Computer Configuration—Windows Settings—Security Settings—File System”,在右面板上,点右键,选择Add File,如下图:
组策略应用之一——软件分发_组策略_24
9) 在弹出的“Add a file or folder(添加文件或文件夹)”对话框中,选择C:\Program File,然后点OK,如下图:
组策略应用之一——软件分发_windows_25
10)在弹出的安全设置对话框中,添加“Domain Users”,并设置权限为完全控制,如下面图:
组策略应用之一——软件分发_组策略_26
11)在弹出的“Add Object(添加对象)”对话框中,选择“Configure this key then(配置这个项,然后”,再选择“Replace existing permissions on all subkeys with inheritable permissions(替换所有带继承权限的子文件夹和文件上的现存权限)”,然后点OK,如下图:
组策略应用之一——软件分发_软件_27
12)以同样的方式,添加windows文件夹。
组策略应用之一——软件分发_windows_28
这样,属于Domain Users组的用户都拥有软件的安装权限了。
软件分发设置至此完成,虽然步骤有点多,不过设置好了,以后执行起来还是很方便。