使用组策略为 2007 Office 部署分配计算机启动脚本
更新时间: 2007年5月
应用到: Office Resource Kit
上一次修改主题: 2008-08-11
管理员可以使用组策略分配计算机启动脚本以部署 2007 Microsoft Office system。可以用客户端计算机支持的任何语言编写一个脚本。诸如 VBScript 和 Jscript 之类的 Windows 脚本宿主支持语言和命令文件最为常用。
组策略脚本扩展插件概述
组策略基础结构包括由下列组件组成的脚本扩展插件:
用于管理和配置脚本的组策略对象编辑器 MMC 管理单元的 Microsoft 管理控制台 (MMC) 服务器端扩展插件。管理员使用脚本扩展插件在组策略对象 (GPO) 中指定脚本策略设置,然后将 GPO 链接到管理员需要为其分配脚本的站点、域或组织单位。
组策略对象编辑器管理单元包括脚本部署的两个扩展插件:
脚本(启动/关机)。管理员使用此扩展插件指定在启动或关闭计算机时运行的脚本。这些脚本以本地系统管理身份运行。“脚本(启动/关机)”位于组策略对象编辑器的“计算机配置”\“Windows 设置”节点下面。
脚本(登录/注销)。管理员使用此扩展插件指定在用户登录或注销计算机时运行的脚本。这些脚本以用户身份运行,而不是以管理员身份运行。“脚本(登录/注销)”位于组策略对象编辑器的“用户配置”\“Windows 设置”节点下面。
客户端扩展插件,它是客户端计算机上的动态链接库 (DLL),用于在客户端计算机上与组策略基础结构进行交互并实现组策略脚本。名为 Userinit.exe 的单独的进程将运行这些脚本。
有关组策略脚本扩展插件的详细信息,请参阅 Microsoft TechNet 网站上 Windows Server 2003 组策略技术参考的脚本扩展插件技术参考(该链接可能指向英文页面) 。有关 Windows 脚本宿主的信息,请参阅 MSDN Web 网站上的 Windows 脚本宿主(该链接可能指向英文页面) 。
使用计算机启动脚本部署 2007 Office 的优点
如果已经在组织中部署 Active Directory 和组策略,则使用计算机启动脚本部署 2007 Office system具有下列优点:
Office 2007 客户端部署的脚本或批处理文件创建起来相对简单。
管理员可以使用命令行指向其 Office 安装程序自定义文件(.MSP 文件)以自定义高级功能和设置。安装程序自定义文件是管理员使用 Office 自定义工具 (OCT) 自定义 2007 Microsoft Office system 安装时创建的。有关 .MSP 文件的详细信息,请参阅 2007 Office system 中的 Office 自定义工具。
管理员可以使用命令行指向 Config.xml 文件以添加语言和其他自定义项。修改 Config.xml 文件是管理员可用来更改 2007 Office system安装的方法之一。有关 Config.xml 文件的详细信息,请参阅 2007 Office system 中的 Config.xml 文件以及使用组策略软件安装来部署 2007 Office system 中的将自定义项应用于 Office 安装和修改 Config.xml 文件的 OptionState 元素部分。
可以将产品安装的源文件存储在网络共享上,如果预留有位,则也可以存储在每台本地计算机上。
该产品安装发生在系统环境中用户登录之前。Active Directory 将进行应用程序安装所需的特权提升。
通过使用“控制面板”中的“添加或删除程序”,用户可以添加或删除产品功能。
管理员可以使用类似的脚本编写过程对域或组织单位中的每台计算机应用安全更新和 Service Pack。
Microsoft Windows Server Update Services 3.0 (WSUS 3.0) 可用于管理和提供产品更新。有关 WSUS 的信息,请参阅 Microsoft TechNet 网站上的 Microsoft Windows Server Update Services 3.0 概述(该链接可能指向英文页面) 和 Microsoft Windows Server Update Services 3.0 入门循序渐进指南 。
如果您使用计算机启动脚本作为 2007 Office 的部署方法,则一定要考虑以下问题:
该产品安装的管理方式与组策略软件安装的管理方式不同。
组策略调用此脚本,随后将拥有有限的安装状态感知功能。如果删除包含此脚本的 GPO(GPO 超出作用域),则不会删除 Office。
若要用脚本进行部署,需要了解 2007 Office 应用程序中 Setup.exe 的有效命令行选项的基本知识。有关命令行选项的信息,请参阅2007 Office system 的安装程序命令行选项。
必须使用命令行脚本或批处理文件对多台计算机完成产品卸载和重新安装。
用户启动卸载后自动重新安装产品的工作方式与使用组策略软件安装之后的工作方式不同。使用组策略软件安装后,如果用户使用控制面板中的“添加或删除程序”删除了分配给用户的应用程序,则组策略软件安装扩展插件将在用户登录或计算机重启后自动重新应用广告信息。用户在下次选择软件或试图打开一个具有关联文件扩展名的文件时,将重新安装该软件。
准确确定对每个客户端计算机所应用的更新和 Service Pack 可能会很困难。
重要信息 |
---|
组策略能够影响组织中数百台乃至数千台计算机的配置。因此,在将所有新组策略配置或部署移到生产环境中之前在非生产环境中对其进行严格测试至关重要。有关分阶段进行组策略部署的详细信息,请参阅 Microsoft Windows Server 2003 Deployment Kit(“Microsoft Windows Server 2003 部署工具包”)的 Designing a Managed Environment(《设计托管环境》)一书中的分阶段进行组策略部署。 默认情况下,系统最多只 允许合并的脚本组运行 600 秒(10 分钟)。管理员可以使用策略设置调整此时间间隔以确保启动脚本完成运行。“组策略脚本的最长等待时间”策略设置指定系统等待组策略所应用的脚本运行的时间。此设置限制了组策略所应用的所有登录、启动和关机脚本完成运行所需的总时间。与任何组策略部署一样,您必须在暂存环境中全面测试您的启动脚本,然后再将它们部署到您的生产环境。通过测试,可以帮助您确定要用于特定网络环境的“组策略脚本的最长等待时间”策略的值。此值设置得过低可能导致安装过早终止。有些因素可能会影响此值,如网络速度、客户端计算机硬件以及在客户端计算机上运行的其他脚本。通过全面测试此策略设置,您可以确定要用于特定环境的适当的值。 可以在组策略对象编辑器的“计算机配置”\“管理模板”\“系统”\“脚本”文件夹中使用“组策略脚本的最长等待时间”策略设置。有关配置此策略设置的信息,请参阅指定运行启动脚本的最长时间。 |
分配计算机启动脚本
启动脚本以本地系统管理员身份运行并具有以本地系统管理员身份运行所需的所有权限。
注意 |
---|
以下过程假定您已经安装了 GPMC。您可以从 Microsoft 下载中心网站下载 GPMC。有关详细信息,请参阅下载组策略管理控制台 (GPMC) 。如果您使用 Windows Vista,则 GPMC 已集成到操作系统中。 有关使用 GPMC 和处理 GPO 的详细信息和过程,请参阅使用 2007 Office system 中的组策略强制执行设置中的组策略管理工具和使用组策略管理控制台和组策略对象编辑器部分。 为了完成这些过程,您必须作为 Domain Administrators 安全组、Enterprise Administrators 安全组或 Group Policy Creator Owners 安全组的成员登录。 |
以下部分为自定义 Config.xml 安装选项和部署计算机启动脚本提供了示例脚本和说明。
下面的示例脚本说明如何执行以下任务:
运行 Microsoft Office Setup.exe(如果尚未安装该产品)
将错误事件或成功事件记录到集中式日志文件中
此脚本示例提供了灵活性,可以针对其他 Office 产品自定义此脚本。
下面的要求适用于示例脚本:
目标计算机必须运行 Windows XP、Windows Server 2003、Windows Vista 或 Windows Server 2008。
如果您使用自定义修补程序,则需要 Microsoft Windows Installer (MSI) 3.1
只读的网络共享(包含 Office 源文件)
读写网络共享(用于存储集中式日志文件)
自定义的 Config.xml 文件或自定义修补程序(用于指示以安静模式运行 Setup.exe)。有关修改 Config.xml 文件中的 Display 元素的说明,请参阅 2007 Office system 中的 Config.xml 文件中的在 Config.xml 文件中指定无提示安装选项和Display 元素。
示例
setlocal
REM *********************************************************************
REM Environment customization begins here. Modify variables below.
REM *********************************************************************
REM Get ProductName from the Office product's core Setup.xml file.
set ProductName=Enterprise
REM Set DeployServer to a network-accessible location containing the Office source files.
set DeployServer=\\server\share\Office12
REM Set ConfigFile to the configuration file to be used for deployment REM (required)
set ConfigFile=\\server\share\Office12\Enterprise.WW\config.xml
REM Set LogLocation to a central directory to collect log files.
set LogLocation=\\server\share\Office12Logs
REM *********************************************************************
REM Deployment code begins here. Do not modify anything below this line.
REM *********************************************************************
IF NOT "%ProgramFiles(x86)%"=="" SET WOW6432NODE=WOW6432NODE\
reg query HKEY_LOCAL_MACHINE\SOFTWARE\%WOW6432NODE%Microsoft\Windows\CurrentVersion\Uninstall\%ProductName%
if %errorlevel%==1 (goto DeployOffice) else (goto End)
REM If 1 returned, the product was not found. Run setup here.
:DeployOffice
start /wait %DeployServer%\setup.exe /config %ConfigFile%
echo %date% %time% Setup ended with error code %errorlevel%. >> %LogLocation%\%computername%.txt
REM If 0 or other was returned, the product was found or another error occurred. Do nothing.
:End
Endlocal
在此示例中,脚本日志信息被写入到 computername.txt 文件中。日志文件中的返回代码 0 表示安装成功完成。返回代码 3010 表示需要重新启动。有关 Office 产品 Windows Installer 进程的其他错误代码的详细信息,请参阅 Microsoft 知识库网站上的知识库文章 290158。
在 Config.xml 文件中指定无提示安装选项
自定义 Config.xml 以指定无提示安装选项
在文本编辑器工具(如记事本)中打开 Config.xml 文件。
找到包含 Display 元素的行,如下面的示例所示:
<!-- <Display Level="full" CompletionNotice="yes" SuppressModal="no" AcceptEula="no" /> -->
修改 Display 元素项以指定无提示安装选项。例如,如果您想要指定不显示用户界面或模式对话框,请使用以下语法:
<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />
将 Config.xml 文件保存在编辑之前该文件所在的文件夹中。
部署计算机启动脚本
在域控制器上设置脚本
- 将脚本和相关文件复制到要从中要运行脚本的域控制器上的 Netlogon 共享文件夹或另一个共享文件夹中。
注意 |
---|
目标计算机帐户需要对 Office 源文件位置的读取权限以及对日志文件位置的读写权限。可以将日志文件存储在本地计算机上。 |
分配计算机启动脚本
依次单击“开始”、“控制面板”、“管理工具”和“组策略管理”。
在控制台树内包含要编辑的组策略对象 (GPO) 的林和域中,双击“组策略对象”。它位于*“林名称”/“域”/“域名”*/“组策略对象”中。
右键单击想要用于分配脚本的 GPO,然后单击“编辑”。这将打开组策略对象编辑器控制台。
在组策略对象编辑器的控制台树中,单击“脚本(启动/关机)”。它位于“计算机配置”\“Windows 设置”节点中。
在细节窗格中,双击“启动”。
在“启动属性”对话框中,单击“添加”。
在“添加脚本”对话框中,执行下列操作:
在“脚本名”中,键入该脚本的路径,或单击“浏览”以在域控制器上的 Netlogon 共享文件夹中搜索脚本文件。
在“脚本参数”中键入您想要使用的参数,就像在命令行上键入参数一样。例如,如果您的脚本包括名为 //logo(显示标记)和 //I(交互模式)的参数,则键入://logo //I。
在“启动属性”对话框中,指定要使用的选项。下面的选项可用:
组策略对象的启动脚本。列出当前分配给选定的组策略对象的所有脚本。如果分配多个脚本,则将按您指定的顺序处理脚本。若要在列表中向上移动脚本,请选择脚本,然后单击“上移”。若要在列表中向下移动脚本,请选择脚本,然后单击“下移”。
添加。打开“添加脚本”对话框,您可以在其中指定要使用的其他脚本。
编辑。打开“编辑脚本”对话框,您可以在其中修改名称和参数等脚本信息。
删除。从“启动脚本”列表中删除所选脚本。
显示文件。显示存储在选定组策略对象中的脚本文件。
指定运行启动脚本的最长时间
设置启动脚本运行的最大时间
依次单击“开始”、“控制面板”、“管理工具”和“组策略管理”。
在控制台树内包含要编辑的组策略对象 (GPO) 的林和域中,双击“组策略对象”。它位于“林名称”/“域”/“域名”/“组策略对象”。
右键单击想要用于分配脚本的 GPO,然后单击“编辑”。这将打开“组策略对象编辑器”控制台。
在“组策略对象编辑器”的控制台树中,导航到“计算机配置”\“管理模板”\“系统”\“脚本”。
在细节窗格(控制台左侧)中,双击“组策略脚本的最长等待时间”策略设置,单击“启用”、在“秒”向下滚动框中输入您想要使用值,然后单击“确定”。
重要信息 确保在过渡性非生产环境中全面测试启动脚本,然后 再将它们部署到您的生产环境中。