Windows 安装程序自动化概述
05/02/2017
本文内容
使用 Setupconfig.ini 安装 Windows
什么是 setupconfig 文件?
Setupconfig 是一个配置文件,用于将一组标志或参数传递给 Windows setup.exe。 使用此文件作为将参数传递到命令行上的 Windows 安装程序的替代方法。 此功能在 Windows 10 版本1511及更高版本中可用。
IT 专业人员可以使用 setupconfig 文件将参数添加到 Windows 更新和 Windows Server Update Services 的 Windows 安装程序。
本主题介绍了可用于 Windows 10 Setup.exe 的不同参数。
Setupconfig.ini 文件可以包含单个参数,也可以包含参数和值对。 不要包含 "/" 字符,对于参数和值对,请在两者之间包含 "="。
例如,使用以下项创建 Setupconfig.ini。 请注意,此标头 [SetupConfig] 是必需的。
[SetupConfig]
NoReboot
ShowOobe=None
Telemetry=Enable
InstallDrivers=
ReflectDrivers=
这等效于以下命令行:
Setup /NoReboot /ShowOobe None /Telemetry Enable
Windows 安装程序如何使用 Setupconfig.ini?
使用 media/ISO 文件
如果从媒体或 ISO 文件运行 Windows 安装程序,则在运行 setup.exe 时,必须在命令行 ( "/ConfigFile" ) 上包含 setupconfig 文件的位置 。 例如:
Setup.exe /ConfigFile
如果在命令行中包含参数,并在 setupconfig 文件中包含相同的参数,则 setupconfig 文件参数和值优先。
使用 Windows 更新
如果通过 Windows 更新传递更新,Windows 安装程序在默认位置搜索 setupconfig 文件。 可以在以下位置包含 setupconfig 文件:
"% systemdrive% \Users\Default\AppData\Local\Microsoft\Windows\WSUS\SetupConfig.ini"
安装 Windows 时使用应答文件
可以使用应答文件自动执行 Windows 安装:
使用 USB 闪存驱动器
使用示例答案文件或使用 Windows 系统映像管理器创建自己的 (Windows SIM) 。
将该文件另存为 USB 闪存驱动器根目录中的 Autounattend.xml 。
在新电脑上,放入 Windows 产品 DVD 和 USB 闪存驱动器,然后启动电脑。 如果未选择其他答案文件,则 Windows 安装程序搜索此文件。
选择应答文件
可以在安装过程中选择特定答案文件,方法是启动到 Windows 预安装环境,并使用具有 /unattend:filename选项的 setup.exe 命令。 有关详细信息,请参阅 WinPE:创建 USB 可启动驱动器。
有关示例应答文件和用于自动执行安装的设置的列表,请参阅 自动 Windows 安装程序。
修改现有安装
由于在安装过程中需要重新启动,因此会将应答文件的副本缓存到 Windows 安装的% WINDIR% \ Panther 目录中。 您可以修改此文件以执行以下任一操作:
更新 "系统" 和 "控制面板" 设置,而不启动映像。
通过准备 PC 以启动到审核模式来更新映像 (参阅 Microsoft Windows 部署重新 \ 封装 \ 模式) 。
更新安装驱动程序或包的顺序。 具有依赖关系的 (包可能需要按特定顺序安装。 )
替换脱机映像中的应答文件
在 Windows 系统映像管理器中创建自定义应答文件 (Windows SIM) 。
打开权限提升的命令提示符。
装载 Windows 映像。
Dism /Mount-Image /ImageFile:"C:\images\CustomImage.wim" /Index:1 /MountDir:C:\mount
修改或替换已 \ \ 装载的映像中的文件: Windows Panther \unattend.xml。
Copy CustomAnswerFile.xml C:\mount\Windows\Panther\unattend.xml
注意
映像中的应答文件可能包含尚未处理的设置。 如果希望处理这些设置,请编辑现有文件而不是替换。
卸载映像。
Dism /Unmount-Image /MountDir:C:\mount /Commit
通过将映像部署到新 PC 来测试映像,而无需指定应答文件。 当 Windows 安装程序运行时,它将查找并使用此答案文件。
模糊应答文件搜索顺序
Windows 安装程序在每个配置阶段的开头搜索应答文件,包括初始安装和应用和启动映像之后。 如果找到了答案文件,并且该文件包含给定配置阶段的设置,则会处理这些设置。
Windows 安装程序根据搜索顺序标识并记录所有可用的答案文件。 将使用具有最高优先级的答案文件。 将会对应答文件进行验证,然后将其缓存到计算机中。 有效的应答文件将缓存到 $Windows。 ~ BT \ 源 \ Panther 目录, windowsPE 和 offlineServicing 配置通过。 将 Windows 安装解压到硬盘之后,应答文件缓存到% WINDIR% \ panther。
下表显示了模糊应答文件搜索顺序。
搜索顺序
位置
说明
1
注册表
HKEY_LOCAL_MACHINE\System\Setup\UnattendFile
在注册表中指定指向应答文件的指针。 应答文件并非必须名为 Unattend.xml。
2
%WINDIR%\Panther\Unattend
答案文件的名称必须是 Unattend.xml 或 Autounattend.xml。
注意
Windows 安装程序仅在下层安装上搜索此目录。 如果 Windows 安装程序从 Windows PE 启动,则不会搜索 %WINDIR%\Panther\Unattend 目录。
3
%WINDIR%\Panther
Windows 安装程序将答案文件缓存到此位置,以便在后续安装阶段使用。 例如,当计算机重新启动时,安装程序可以继续应用答案文件中的设置。 如果使用 Windows 安装程序或 Sysprep 显式指定答案文件,则缓存到此目录的答案文件将被显式指定的答案文件覆盖。
重要说明
不要使用、修改或覆盖此目录中的应答文件。 此目录中的应答文件会在安装过程中使用 Windows 安装程序进行批注。 此应答文件无法在 Windows SIM 或任何其他 Windows 安装中重复使用。
4
按照驱动器号顺序排列的可移动读/写介质,位于驱动器根目录下。
按照驱动器号顺序排列的可移动读/写介质,位于驱动器根目录下。
答案文件的名称必须是 Autounattend.xml 的,答案文件必须位于驱动器的根目录下。
5
按照驱动器号顺序排列的可移动只读介质,位于驱动器根目录下。
按照驱动器号顺序排列的可移动只读介质,位于驱动器根目录下。
答案文件的名称必须 Autounattend.xml,且必须位于驱动器的根目录下。
6
Windows 分发中的 \Sources 目录
所有其他阶段:
%WINDIR%\System32\Sysprep
在 windowsPE 和 offlineServicing 配置阶段中,必须 Autounattend.xml 应答文件的名称。
对于所有其他配置阶段,文件名必须为 Unattend.xml。
7
%SYSTEMDRIVE%
应答文件名必须是 Unattend.xml 或 Autounattend.xml
8
驱动器,其中 Windows 安装程序 ( # A0) 在驱动器的根目录下运行。
答案文件的名称必须 Unattend.xml 或 Autounattend.xml,并且必须位于 Windows 安装程序文件夹路径的根目录下。
应答文件中的敏感数据
安装程序将在每个配置阶段结束时删除缓存应答文件中的敏感数据。
重要说明
由于在 Windows 安装过程中会将应答文件缓存到计算机中,因此在数次重新启动之间应答文件将保留在计算机中。 在将计算机交付给客户之前,必须在% WINDIR% panther 目录中删除缓存的应答文件 \ 。 如果在答案文件中包含域密码、产品密钥或其他敏感数据,则可能存在潜在的安全问题。 但是,如果你要在最终用户启动计算机时运行的 oobeSystem 配置阶段中存在未处理的设置,请考虑删除已处理的答案文件部分。 运行 sysprep/oobe 命令时,一个选项可能是使用单独的答案文件,该文件只包含 oobeSystem 配置阶段的设置。
但是,如果将答案文件嵌入到高于缓存的应答文件的优先级位置,则在每个后续配置阶段的开头,如果嵌入的应答文件与隐式搜索条件相匹配,则可能会覆盖缓存的答案。 例如,如果答案文件嵌入到% WINDIR% \ Panther \ 无人参与 \Unattend.xml,则嵌入的应答文件将在每个配置阶段的开头替换缓存的应答文件。 例如,如果嵌入的应答文件同时指定 specialize 和 oobeSystem 配置阶段,则会发现嵌入的应答文件用于 specialize 配置传递、缓存、处理和敏感数据。 在 oobeSystem 配置阶段中再次发现嵌入的应答文件,并重新缓存。 因此,将不再清除 specialize 配置阶段的敏感数据。 先前处理的配置阶段的敏感数据将不会再次被清除。 除非必须重写缓存的答案文件,否则请将答案文件嵌入到优先级较低的位置。
重要说明
由于在 Windows 安装过程中会将应答文件缓存到计算机中,因此在数次重新启动之间应答文件将保留在计算机中。 在将计算机交付给客户之前,必须在% WINDIR% panther 目录中删除缓存的应答文件 \ 。 如果在答案文件中包含域密码、产品密钥或其他敏感数据,则可能存在潜在的安全问题。 但是,如果你要在最终用户启动计算机时运行的 oobeSystem 配置阶段中存在未处理的设置,请考虑删除已处理的答案文件部分。 运行 sysprep/oobe 命令时,一个选项可能是使用单独的答案文件,该文件只包含 oobeSystem 配置阶段的设置。
可以将命令添加到 Setupcomplete.cmd 命令脚本,该脚本可删除计算机上所有缓存的或嵌入的应答文件。 有关详细信息,请参阅 将自定义脚本添加到 Windows 安装程序。
Windows 安装程序为应答文件中的配置阶段添加注释
处理完某个配置阶段后,Windows 安装程序将对缓存的应答文件添加注释,以表明该阶段已处理。 如果配置阶段再次运行,并且在过渡期间尚未替换或更新缓存的应答文件,则不会再次处理答案文件设置。 相反,Windows 安装程序将搜索优先级较低(优先级低于缓存的 Unattend.xml 文件)位置的模糊 Unattend.xml 文件。
例如,你可以在 specialize配置阶段中使用包含 Microsoft Windows 部署/RunSynchronous 命令的答案文件来安装 Windows。 在安装过程中,将运行 specialize 配置阶段并执行 RunSynchronous 命令。 安装完成后,运行 sysprep 命令和 /generalize 选项。 如果没有答案文件的优先级高于缓存的应答文件,或者没有将答案文件显式传递给 Sysprep 工具,则安装程序将在下次启动计算机时运行 specialize 配置阶段。 由于缓存的应答文件包含一个批注,该批注已应用该配置阶段的设置,因此不执行 RunSynchronous 命令。
隐式答案文件搜索示例
以下示例帮助描述模糊应答文件搜索的行为。
将自动发现名为 Autounattend.xml 的答案文件 Windows 安装程序
创建一个名为 Autounattend.xml 的答案文件,该文件包含 windowsPE 配置阶段中的设置。
将 Autounattend.xml 复制到可移动媒体设备。
如果要从 CD 或 DVD 启动,请配置计算机的 BIOS。
启动 Windows 产品 DVD。
在 Windows 启动时插入可移动媒体设备。 此示例假设向可移动介质分配驱动器号 D: \ 。
Windows 安装程序将会启动并自动将 Autounattend.xml 识别为有效的应答文件。 由于应答文件使用有效的文件名 ( # A0) ,位于 D) 的根目录 (的一个有效搜索路径中,并包括当前配置阶段的有效设置 (windowsPE) ,使用此答案文件。
会将应答文件缓存到计算机中。 如果在之后的阶段中未发现其他应答文件,则整个 Windows 安装程序过程中都将使用该缓存的文件。
按优先顺序在预定义搜索路径中发现答案文件
使用前面方案中的步骤通过应答文件安装 Windows。 用于安装 Windows 的应答文件缓存到% WINDIR% Panther 目录中的系统 \ 。
将 Unattend.xml 文件复制到% WINDIR% \ System32 \ Sysprep 目录。
此应答文件在 通用化 配置阶段中具有设置。
使用 /generalize 选项运行 sysprep 命令以创建引用映像。
由于% WINDIR% \ System32 \ Sysprep 目录位于隐式搜索路径中,因此会找到复制到此目录的答案文件。 但是,用于安装 Windows 的答案文件仍会缓存在计算机上,并包含 通用化 配置阶段的设置。 此缓存的应答文件的优先级要高于复制到 Sysprep 目录中的文件的优先级。 会使用缓存的应答文件。
注意
Sysprep 工具可以作为命令行工具或 GUI 工具运行。 如果将 Sysprep 工具作为 GUI 工具运行,则可以选中 " 通用化 " 复选框。
To use the new answer file, you can copy it to a directory of a higher precedence than the cached answer file, or you can specify the answer file by using the **/unattend** option. For example:
```
sysprep /generalize /unattend:C:\MyAnswerFile.xml
```
答案文件必须包含有效的配置阶段
将 Unattend.xml 文件复制到可移动介质设备。
Unattend.xml 文件仅包含 auditSystem 和 auditUser 配置阶段的设置。
在已安装的 Windows 操作系统上,运行 sysprep/generalize/oobe 命令。
即使答案文件在某个隐式搜索路径中可用,Unattend.xml 文件也会被忽略,因为它不包含 通用化 配置阶段的有效 pass。
其他资源
有关答案文件和配置阶段的详细信息,请参阅下列主题:
相关主题