应答文件 (unattend.xml)
应答文件(或无人参与文件)可用于在安装期间修改你的映像中的 Windows 设置。 还可以在映像中创建触发脚本的设置,在用户首次创建其帐户并选择默认语言后会运行这些脚本。
Windows 安装程序将会自动搜索某些位置的应答文件,或者,你可以在运行 Windows 安装程序 (setup.exe) 时通过使用 /unattend:
选项来指定无人参与文件。
Windows 设置概览
尽管你可以在审核模式中设置很多 Windows 设置,但是某些设置只能使用应答文件或 Windows 配置设计器来设置,如添加制造商的支持信息。 有关应答文件设置(也称为无人参与设置)的完整列表,请参阅无人参与的 Windows 安装程序参考。
企业可以使用组策略控制其他设置。 有关详细信息,请参阅组策略。
答案文件设置
你可指定要添加新设置的配置传送。 每个配置传送都表示一个可以配置设置的安装阶段:
1 windowsPE:这些设置由 Windows 安装程序使用。 如果你正在修改现有映像,通常可以忽略这些设置。
2 offlineServicing:这些设置应用于脱机映像,此时使用
Apply-Unattend
选项来通过 DISM 应用无人参与文件。 在将具有 DISM 的无人参与文件应用于脱机映像时,只处理此配置传送中的设置。4 specialize:大多数设置都应在此处添加。 这些设置可同时在审核模式和 OOBE 开始时触发。 如果你需要进行多个更新或测试设置,请再次一般化设备,然后将另一批设置添加到 Specialize 配置阶段中。
6 auditUser:启动审核模式后立即运行。
这是运行系统测试脚本的合适时间 - 我们将添加 Microsoft-Windows-Deployment\RunAsynchronousCommand 作为示例。 若要了解详细信息,请参阅将自定义脚本添加到 Windows 安装程序。
7 oobeSystem:请慎用。 这些设置的大多数在用户完成 OOBE 之后运行。 例外情况是 Microsoft-Windows-Deployment\Reseal\Mode = 审核设置,我们将使用它来绕过 OOBE 并启动 PC 进入审核模式。
如果你的脚本依赖于知道用户在 OOBE 期间选择哪种语言,请将它添加到 oobeSystem 阶段。
若要了解详细信息,请参阅 Windows 安装程序配置通行证。
注意
如果用户使用内置恢复工具重置他们的 PC,这些设置可能会丢失。 若要了解如何在重置期间确保这些设置保留在设备上,请参阅示例脚本:通过恢复保留 Windows 设置。
创建和修改答案文件
本部分逐步介绍如何使用 Windows 评估和部署工具包中提供的工具来创建和修改无人参与文件。 在为部署创建无人参与文件时,可以配置与以下所述不同的或附加的设置。
步骤 1:创建目录文件
启动 Windows 系统映像管理器。
单击文件>选择 Windows 映像。
在选择 Windows 映像中,浏览并选择映像文件 (D:\install.wim)。 接下来,选择 Windows 版本,例如 Windows 10 专业版,然后单击确定。 单击是以创建目录文件。 Windows SIM 根据映像文件创建该文件,并将其保存到映像文件所在的文件夹中。 这个过程可能需要几分钟。
目录文件将显示在 Windows 映像窗格中。 Windows SIM 列出该映像中的可配置组件和程序包。
提示
如果 Windows SIM 未创建目录文件,请尝试以下步骤:
- 若要为 32 位或基于 Arm 的设备创建目录文件,请使用 32 位设备。
- 确保 Windows 基本映像文件 (\Sources\Install.wim) 位于具有读写权限的文件夹中,如 USB 闪存驱动器或硬盘驱动器上。
步骤 2:创建答案文件
单击文件>新建答案文件。
新的答案文件将显示在答案文件窗格中。
注意
如果打开现有的应答文件,系统可能会提示你将该应答文件与映像关联。 单击 “是” 。
步骤 3:添加新的答案文件设置
添加 OEM 信息:
在“Windows 映像”窗格中,展开“组件”,右键单击“amd64_Microsoft-Windows-Shell-Setup_(版本)”,然后选择“将设置添加到传送 4 specialize”。
在“答案文件”窗格中,选择“Components\4 specialize\amd64_Microsoft-Windows-Shell-Setup_neutral\OEMInformation”。
在 OEMInformation 属性窗格的设置部分中,选择:
- 制造商=
Fabrikam
- 型号=
Notebook Model 1
- 徽标=
C:\Fabrikam\Fabrikam.bmp
- 制造商=
创建最大大小为 120x120 像素的 32 位彩色图形/徽标,并在本地电脑上将它另存为
D:\AnswerFiles\Fabrikam.bmp
文件。我们将在几个步骤中将徽标复制到 Windows 映像中。
将设备设置为自动启动到审核模式:
在“Windows 映像”窗格中,展开“组件”,右键单击“amd64_Microsoft-Windows-Deployment_(版本)”,然后选择“将设置添加到传送 7 oobeSystem”。
在“应答文件”窗格中,选择“Components\7 oobeSystem\amd64_Microsoft-Windows-Deployment_neutral\Reseal”。
在 Reseal 属性窗格的设置部分中,选择模式 =
Audit
。
准备脚本以在审核模式开始后运行。
在“Windows 映像”窗格中,右键单击“amd64_ Microsoft-Windows-Deployment_(版本)”,然后选择“将设置添加到传送 6 auditUser”。
在“应答文件”窗格中,展开“Components\6 auditUser\amd64_Microsoft-Windows-Deployment_neutral\RunAsynchronous”。 右键单击 RunAsynchronousCommand 属性,然后单击插入新 AsynchronousCommand。
在 AsynchronousCommand 属性窗格的设置部分中,添加以下值:
Path = C:\Fabrikam\SampleCommand.cmd
Description = Sample command to run a system diagnostic check.
Order = 1
(确定命令运行的顺序,从 1 开始。)
添加注册表项。 在此示例中,我们将名为“
ABCD
”的REG_SZ
键添加到值为10
的HKLM\Software\Sample
中。 此命令将会调用CMD /c REG ADD
,就像要从命令提示符创建注册表项一样。为每个要添加的注册表项添加 RunAsynchronousCommands。 (右键单击 RunAsynchronousCommand 属性,然后单击插入新 AsynchronousCommand)。
Path = CMD /c REG ADD HKEY_LOCAL_MACHINE\Software\Sample /v 10 /t REG_SZ ABCD Description = Adds a OEM registry key Order = 2 RequiredUserInput = false
有关配置选项的完整列表,请参阅无人参与的 Windows 安装程序参考。
步骤 4:保存答案文件
保存该应答文件,例如:D:\AnswerFiles\BootToAudit-x64.xml。
注意
Windows SIM 不允许将应答文件保存到装载的映像文件夹中。
步骤 5:创建脚本
我们在步骤 3.3 中指定了要运行的脚本,现在,我们来创建该脚本。
将以下示例脚本复制到记事本,并将它保存为
D:\AnswerFiles\SampleCommand.cmd
。@rem Scan the integrity of system files @rem (Required after removing the base English language from an image) sfc.exe /scannow @rem Check to see if your drivers are digitally signed, and send output to a log file. md C:\Fabrikam C:\Windows\System32\dxdiag /t C:\Fabrikam\DxDiag-TestLogFiles.txt
将答案文件和脚本添加到映像
步骤 6:装载映像并添加该应答文件
使用 DISM 来装载 Windows 映像。 若要了解如何装载映像,请参阅使用 DISM 来装载和修改 Windows 映像
将该应答文件复制到映像中的
\Windows\Panther
文件夹中,然后将它命名为 unattend.xml。 Panther 文件夹是 Windows 在搜索是否有应答文件的文件夹之一。 如果不存在,则创建文件夹。 如果有现有的答案文件,请将其替换或使用 Windows 系统映像管理器编辑/合并设置(如有必要)。MkDir c:\mount\windows\Windows\Panther Copy D:\AnswerFiles\BootToAudit-x64.xml C:\mount\windows\Windows\Panther\unattend.xml MkDir c:\mount\windows\Fabrikam Copy D:\AnswerFiles\Fabrikam.bmp C:\mount\windows\Fabrikam\Fabrikam.bmp Copy D:\AnswerFiles\SampleCommand.cmd C:\mount\windows\Fabrikam\SampleCommand.cmd
卸载该映像,提交更改。 例如:
Dism /Unmount-Image /MountDir:"C:\mount\windows" /Commit
其中
C
是包含该装载的映像的驱动器的驱动器号。此过程可能需要数分钟。
在应用映像时,Windows 将会处理你的无人参与文件,并且将会根据你在该无人参与中指定的内容来配置你的设置。