有关创建应答文件的最佳做法
我们建议执行以下最佳做法来创建答案文件。
可以通过多种方法来使用答案文件。 有关如何将答案文件与 Windows 安装程序配合使用的详细信息,请参阅 Windows 安装程序自动化概述。 有关如何将答案文件与 Sysprep 工具配合使用的详细信息,请参阅将答案文件与 Sysprep 配合使用。 有关如何将答案文件与部署映像服务和管理 (DISM) 配合使用的详细信息,请参阅 DISM 无人参与服务命令行选项。
始终验证 Windows SIM 中的应答文件
创作答案文件的建议方法是在 Windows 系统映像管理器 (Windows SIM) 中创建它们。 但是,如果使用手动创作的答案文件,则必须在 Windows SIM 中验证答案文件以确认答案文件是否工作。
因为可用设置和默认值有时会更改,所以在再次使用答案文件时必须重新进行验证。
避免不必要的设置
向答案文件插入设置的父节点可能会引入不必要的设置。
Windows SIM 不会在应答文件中创建空设置。 尽管在 Windows 安装程序过程中会忽略空设置,但空字符串可能会延长安装时间。 因此,在编写应答文件时,请删除所有不需要的设置。
一般来说,最好向下展开到组件的最低级别,并只选择打算设置的那些元素。 对于默认值,仅当是必需元素时才需要包含相应元素。
了解配置阶段
配置阶段表示安装的不同阶段。 了解每个配置阶段过程中出现的情况对于创建答案文件非常重要。 有关详细信息,请参阅 Windows 安装程序自动化概述和配置阶段如何工作。
避免创建空元素
Windows SIM 支持在答案文件中创建空元素。 通过右键单击字符串设置类型,然后单击“写入空字符串”,可以在答案文件中创建空元素。 但是,有些设置支持空元素,有些则不支持。 在某些情况下,创建空元素会导致 Windows 安装程序失败。 创建空元素之前,请参阅 Windows® 无人参与安装程序参考 (Unattend.chm) 中的组件设置文档。
为每个配置阶段创建特定于体系结构的部分
如果执行跨平台部署,请勿在单个答案文件中对不同体系结构类型重复使用组件。 如果在单个答案文件中有多个组件应用于不同体系结构类型,则安装程序可能会多次应用组件中的设置,也可能会错误地应用设置。
对于跨平台部署,必须在答案文件中为每个配置阶段创建特定于体系结构的设置。 例如,对于 32 位预安装环境和 64 位目标计算机,必须在 windowsPE 配置阶段中仅指定基于 x86 的组件,在所有其他配置阶段中仅指定基于 x64 的组件。
对于 64 位答案文件,wow64 设置是应用的 32 位版本,适用于包括 32 位模式和 64 位模式在内的应用。
提高答案文件的安全性
应答文件存储敏感数据,包括产品密钥、密码和其他帐户信息。 可以遵循以下最佳做法来帮助保护此敏感数据:
限制对应答文件的访问权限。 可以根据环境来编辑访问控制列表 (ACL) 或文件的权限。 只有批准的帐户才能访问答案文件。
隐藏密码。 若要提高答案文件的安全性,可以使用 Windows SIM 隐藏本地帐户的密码。 有关详细信息,请参阅在答案文件中隐藏敏感数据。
删除缓存的答案文件。 在无人参与的 Windows 安装过程中,应答文件会缓存到计算机中。 对于每个配置阶段,都会在缓存的应答文件中删除敏感信息(域密码和产品密钥等)。 但是,其他信息在应答文件中仍然是可读的。 在将计算机交付给客户之前,请删除 %WINDIR%\panther 中缓存的答案文件。
注意
只有当 oobeSystem 配置阶段中没有要处理的设置时才能删除答案文件。 oobeSystem 配置阶段就在开箱体验 (OOBE) 开始之前进行处理。 这种情况通常出现在客户第一次打开计算机的时候。 如果从此文件夹中删除了答案文件,则不处理这些设置。
使用数据映像或 $OEM $ 文件夹时,请勿覆盖现有文件
添加数据(如附加驱动程序或应用程序)时,请勿覆盖 Windows 系统文件。 覆盖系统文件可能会损坏计算机。 有关如何添加驱动程序和应用程序的信息,请参阅如何创建数据映像以及如何管理分发共享中的文件和文件夹。
使用单独的答案文件部署到多个体系结构类型
为要部署到的每个体系结构类型创建单独的答案文件。 如果单个答案文件包含多个应用于不同体系结构类型的组件,则组件设置可能会多次应用,也可能会错误地应用。
为特定自定义项使用多个答案文件
可以使用多个答案文件 (Unattend.xml) 创建可在不同时间应用于映像的不同自定义项集。 例如,你可以在 Windows 安装程序期间使用包含品牌和支持信息的通用答案文件。 安装完成后,在运行 Sysprep 工具时,可以应用另一个答案文件来添加更多自定义项。 必须处理 Windows 映像时,可以将不同答案文件与 DISM 配合使用。
例如,可以在与 Windows 安装程序配合使用的答案文件中定义基本自定义项。 安装完成后,可以将答案文件与 Sysprep 或 DISM 配合使用。 例如,如果要保留在 generalize 过程中添加到安装的所有驱动程序,则可以创建包含 PersistAllDeviceInstalls 设置的答案文件以便与 Sysprep 配合使用。 可以通过运行以下命令来应用答案文件:Sysprep /generalize /unattend:answerfile。
有关如何将答案文件与 Windows 安装程序配合使用的详细信息,请参阅 Windows 安装程序命令行选项。
有关如何将答案文件与 Sysprep 配合使用的详细信息,请参阅 Sysprep 命令行语法。
有关如何将答案文件与 DISM 配合使用的详细信息,请参阅 DISM 无人参与服务命令行选项。
使用正确机制将更新添加到 Windows 映像
仅使用 Microsoft 支持的服务机制来更新 Windows 映像。
使用 DISM 更新脱机 Windows 映像。 有关详细信息,请参阅处理脱机映像。
在安装过程中,还可以将计算机配置为自动从 Windows 更新下载更新。
警告
绝不要使用 $OEM$
子文件夹或数据映像覆盖 Windows 系统文件。
如果有其他要添加到计算机的设备驱动程序,请使用 DISM 脱机添加这些驱动程序。 还可以使用 Microsoft-Windows-PnPCustomizationsNonWinPE 和 Microsoft-Windows-PnPCustomizationWinPE 组件在无人参与安装中加入其他驱动程序。 有关详细信息,请参阅如何离线添加和删除驱动程序。
指定资源设置
若要使用答案文件更改语言,请使用 Microsoft-Windows-International-Core-WinPE 组件。 有两种可以在其中指定语言设置的组件:
- Microsoft-Windows-International-Core-WinPE。 语言设置在 windowsPE 配置阶段进行应用。
- Microsoft-Windows-International-Core。 语言设置在 specialize 或 oobeSystem 配置阶段进行应用。
因为某些语言需要重新启动,建议在 windowsPE 配置阶段配置语言设置,因为计算机始终会重新启动。 如果在 specialize 或 oobeSystem 配置阶段处理语言设置,计算机可能还需要另外重新启动一次。
对 LocalAccounts 使用 Sysprep/generalize 命令以更改帐户信息
可以使用带 generalize 选项的 Sysprep 命令和 LocalAccounts 设置更改现有用户帐户的帐户信息。
在以下示例中,如果在 specialize 配置阶段中指定设置,则所有 NEWVALUE 的值都将更改。 但是,MyAccount 会保留其安全组成员身份。 MyAccount 被视为具有不同显示名称、说明和密码值的同一帐户。
<LocalAccount>
<Name>MyAccount</Name>
<DisplayName>NEWVALUE</DisplayName>
<Description>NEWVALUE</Description>
<Password>
<PlainText>false</PlainText>
<Value>NEWVALUEBASE64</Value>
</Password>
</LocalAccount>