Windows 2003】利用域&&组策略自动部署软件
转自
http://hi.baidu.com/qu6zhi/item/4c0fa100dc768613cc34ead0
===================================================================================
可以利用 Active Directory 的组策略功能来为公司的计算机部署软件。在规模比较大的网络环境里面,为了降低我们系统管理逐台给每个客户端去安装、更新软件的劳动量,此时我们就可以利用 Active Directory 的组策略来进行对公司内部网络计算机软件进行部署、升级等。
软件部署概论
·制作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内发布或指派的软件清单删除,并设置下次用户登录或计算机启动时,自动删除这个软件就可以了。
===================================================================================
【创建软件分发点】
————————————————————————————————————————————
“软件分发点”是用于存储Windows Installer Package共享文件夹。可以在域内的任何一台服务器内建立一个文件夹,如D:\packages,这个文件夹是用来存储Windows Installer Package文件的。
第一步:将packages文件夹设为共享文件夹,并赋予一个共享名,建议将此共享文件夹隐藏起来,也就是共享名后面附加$符号,如packages$。
【共享权限】
【NTFS权限】
第二步:在共享文件夹内建议个用来存放“ethereal”的子文件夹,然后将“ethereal.msi”复制到次文件夹内,如下图所示:
===================================================================================
【使用管理安装选项命令Msiexec设置软件包在客户机安装的相关选项】
语法 msiexec /a Package
参数 /a (或-a) #应用管理安装选项。
Package #指定Windows 安装程序包文件的名称。(本地路径)
这个过程可以设置某些软件安装时需要的序列号等内容,这些设置项在客户机那边安装是就自动完成,不用再设了!
第一步:这里我们来设置ethereal安装时的一些配置文件,执行后会以向导的形式引导管理员安装,“网络位置”指到分发点下存放该软件的子文件夹,本例为d:\ package$\ ethereal\
第二步:其它的可以按默认的设置进行
第三步:会把相关的文件装到d:\ package$\ ethereal\下,包括后面在GPO中新建分发程序包要指定的msi安装包ethereal.msi。
===================================================================================
在AD域中发布MSI安装程序包
————————————————————————————————————————————
MSI(Microsoft Software Installer,微软软件安装器)文件是能够实现网络发布的文件类型之一。
假设现在要为每台域成员计算机均安装“微软拼音输入法2003”,则用户要把“微软拼音输入法2003”的 MSI 安装文件“MSPY.msi”放入域中的共享文件夹“分发软件”中,并保证所有域用户均有访问该文件夹的权限。
————————————————————————————————————————————
发布 MSI 软件包的步骤如下所述:
① 打开“Active Directory 用户和计算机”控制台窗口。
用鼠标右键单击域名,选择“属性”命令,如图1所示。
图1 单击“属性”命令————————————————————————————————————————————
② 在打开的“Jinshouzhi.com.cn”属性对话框中单击“组策略”选项卡,然后在“组策略”选项卡中单击“新建”按钮新建一条组策略“MSPY2003”,如图2所示。
图2 新建组策略 ————————————————————————————————————————————
③ 保持“MSPY2003”策略的选中状态,单击“编辑”按钮打开“组策略编辑器”控制台窗口。
在左窗格中依次展开“计算机设置”→“软件设置”目录,然后右键单击“软件安装”选项,在弹出的快捷菜单中选择“新建”→“程序包”命令,如图3所示。
图3 创建一个新软件安装包小提示:在“计算机配置”和“用户配置”里都有“软件安装”选项,均用于在域内部署软件。
如果软件要部署到域中的计算机中,就在“计算机配置”里定义;
如果软件要部署给域中的用户,则应该在“用户配置”里定义。
————————————————————————————————————————————
④ 在“打开”对话框中通过“网上邻居”找到事先存储在域共享文件夹中的 MSI 安装文件“MSPY.MSI”,并单击“打开”按钮,如图4所示。
选中 MSI 文件————————————————————————————————————————————
⑤ 打开“部署软件”对话框,选中“已发布”单选钮,并单击“确定”按钮,如图5所示。
图5 单击“已发布”单选钮【小提示】“Windows Installer”提供“发布”和“指派”两种软件部署方式。
“发布”方式不会自动为域内客户安装软件,而是把安装选项放到客户机的“添加或删除程序”中,供用户在需要的时候自主选择安装;
“指派”方式则直接把软件安装到域用户的开始菜单程序组中。
————————————————————————————————————————————
⑥ 返回“组策略编辑器”窗口,可以在右窗格中看到已经发布的软件名称,如图6所示。
图6 成功发布软件
===================================================================================
Windows (R) Installer. V 3.01.4000.1830
msiexec /Option <Required Parameter> [Optional Parameter]
安装选项
</package | /i> <Product.msi>
安装或配置产品
/a <Product.msi>
管理安装 – 在网络上安装产品
/j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
播发产品 – m 播发到所有用户,u 播发到当前用户
</uninstall | /x> <Product.msi | ProductCode>
卸载产品
显示选项
/quiet
安静模式,无用户交互
/passive
无从参与模式 – 只显示进程栏
/q[n|b|r|f]
设置用户界面级别
n – 无用户界面
b – 基本界面
r – 精简界面
f – 完整界面(默认值)
/help
帮助信息
重新启动选项
/norestart
安装完成后不重新启动
/promptrestart
提示用户重新启动(如果必要)
/forcerestart
安装后总是重新启动计算机
日志选项
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
i – 状态消息
w – 非致命警告
e – 全部错误消息
a – 操作的启动
r – 操作特定记录
u – 用户请求
c – 初始界面参数
m – 内存不足或致命退出信息
o – 磁盘空间不足消息
p – 终端属性
v – 详细输出
x – 额外调试信息
+ – 扩展到现有日志文件
! – 每一行刷新到日志
* – 记录所有信息,除了 v 和 x 选项
/log <LogFile>
与 /l* <LogFile> 相同
更新选项
/update <Update1.msp>[;Update2.msp]
应用更新
/uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
删除产品的更新
修复选项
/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
修复产品
p – 仅当文件丢失时
o – 如果文件丢失或安装了更旧的版本(默认值)
e – 如果文件丢失或安装了相同或更旧的版本
d – 如果文件丢失或安装了不同版本
c – 如果文件丢失或较验和与计算的值不匹配
a – 强制重新安装所有文件
u – 所有必要的用户特定注册表项(默认值)
m – 所有必要的计算机特定注册表项(默认值)
s – 所有现有的快键方式(默认值)
v – 从源运行并缓存本地数据包
设置公共属性
[PROPERTY=PropertyValue]
===================================================================================
参考:
http://bbs.51cto.com/archiver/tid-454272.html
http://blog.csdn.net/naive1010/archive/2007/10/03/1810144.aspx
转载于:https://www.cnblogs.com/alex-13/p/3255138.html