实验 7:更改设置、输入产品密钥并使用应答文件运行脚本 (unattend.xml)

应答文件(或无人参与文件)可用于在安装期间修改你的映像中的 Windows 设置。 你还可以在映像中创建触发脚本的设置,在用户首次创建帐户并选择其默认语言后运行这些脚本。

若要了解 Windows 自定义,请参阅 Windows 10 版本 1607 OEM 策略文档 (OPD)

在示例中,我们将添加一个设置,以说明如何自动启动到被称为审核模式的维护模式。 此模式允许你执行其他测试并捕获更改。 我们将在下几个实验中使用审核模式。

创建新应答文件的关系图

Windows 设置概述

尽管你可以在审核模式中设置很多 Windows 设置,但是某些设置只能使用应答文件或 Windows 映像和配置设计器 (ICD) 来设置,如添加制造商的支持信息。 有关应答文件设置(也称为无人参与设置)的完整列表,请参阅 无人参与的 Windows 安装程序参考

企业可以使用组策略来控制其他设置。 有关详细信息,请参阅 组策略

我们稍后将在实验 10:使用孤立的预配包 (SPP) 添加桌面应用程序和设置 中介绍添加设置的更多方法。

应答文件设置

你可指定在哪些配置阶段添加新设置:

  • 1 windowsPE:这些设置由 Windows 安装程序使用。 如果你正在修改现有映像,通常可以忽略这些设置。

  • 4 specialize:大多数设置都应该添加到此处。 这些设置可同时在审核模式和 OOBE 开始时触发。 如果你需要进行多个更新或测试设置,请再次一般化设备,然后将另一批设置添加到 Specialize 配置阶段中。

  • 6 auditUser:启动审核模式后马上运行。

    这是运行系统测试脚本的合适时间 - 我们将添加 Microsoft-Windows-Deployment\RunAsynchronousCommand 作为示例。 若要了解详细信息,请参阅 将自定义脚本添加到 Windows 安装程序

  • 7 oobeSystem:慎用。 这些设置的大多数在用户完成 OOBE 之后运行。 一个例外是 Microsoft-Windows-Deployment\Reseal\Mode = Audit 设置,我们将使用它来绕过 OOBE 并将电脑启动到审核模式。

    如果你的脚本依赖于知道用户在 OOBE 期间选择哪种语言,请将它添加到 oobeSystem 阶段。

  • 若要了解详细信息,请参阅 Windows 安装程序配置阶段

注意 如果用户使用内置恢复工具重置电脑,这些设置可能丢失。 要了解如何确保在重置期间将这些设置保留在设备上,请参阅 示例脚本:通过恢复保持 Windows 设置

创建和修改应答文件

步骤 1:创建目录文件

  1. 启动 Windows 系统映像管理器

  2. 单击文件 > 选择 Windows 映像

  3. 选择 Windows 映像中,浏览并选择映像文件 (D:\install.wim)。 接下来,选择 Windows 的一个版本(例如 Windows 10 专业版),然后单击确定。 单击以创建目录文件。 Windows SIM 根据映像文件创建该文件,并将其保存到映像文件所在的文件夹中。 这个过程可能需要几分钟。

    目录文件将显示在 Windows 映像窗格中。 WindowsSIM 列出该映像中的可配置组件和程序包。

    疑难解答:如果 Windows SIM 未创建目录文件,请尝试以下步骤:

    • 若要为 32 位或基于 ARM 的设备创建目录文件,请使用 32 位设备。

    • 确保 Windows 基本映像文件 (\Sources\Install.wim) 位于具有读写权限的文件夹中,如 USB 闪存驱动器或硬盘驱动器上。

步骤 2:创建应答文件

  • 单击文件 > 新建应答文件

    新的应答文件将会出现在应答文件窗口中。

    注意 如果你打开了现有应答文件,系统可能会提示你将应答文件与映像关联。 单击

步骤 3:添加新的应答文件设置

  1. 添加 OEM 信息:

    Windows 映像窗格中,展开组件,右键单击 amd64_Microsoft-Windows-Shell-Setup_(version),然后选择添加设置到阶段 4 specialize

    应答文件窗格中,选择 Components\4 specialize\amd64_Microsoft-Windows-Shell-Setup_neutral\OEMInformation

    OEMInformation 属性窗格中的设置部分,选择:

    • Manufacturer=Fabrikam
    • Model=Notebook Model 1
    • Logo=C:\Fabrikam\Fabrikam.bmp

    创建最大大小为 120x120 像素的 32 位颜色,将它保存为本地电脑上的 C:\AnswerFiles\Fabrikam.bmp 文件,或使用 USB-B 盘上的示例:C:\USB-B\ConfigSet\$OEM$\$$\System32\OEM\Fabrikam.bmp

    我们将执行几个步骤来将徽标复制到 Windows 映像。

  2. 将设备设置为自动 启动到审核模式

    Windows 映像窗格中,展开组件,右键单击 amd64_Microsoft-Windows-Deployment_(版本),然后选择添加设置到阶段 7 oobeSystem

    应答文件窗格中,选择 Components\7 oobeSystem\amd64_Microsoft-Windows-Deployment_neutral\Reseal

    Reseal 属性窗格中的设置部分,选择 Mode=Audit

  3. 准备一个 脚本 以在审核模式开始后运行。

    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 开始。)

  4. 添加注册表项。 在此示例中,我们为 OEM Windows 应用商店程序添加了注册表项。 使用 CMD /c REG ADD 来添加,其过程与添加脚本的过程相同。

    对于 Windows 10 客户系统,你可以单独使用 OEM 应用商店 ID,也可以将它与应用商店内容修饰符 (SCM) 一起使用来标识 OEM 应用商店的 OEM 品牌。 通过添加 SCM,你可以在更精细的级别上针对客户系统。 例如,你可以选择通过将消费者和商业品牌的唯一 SCM 插入这些设备来将商业设备与消费者设备区别对待。

    为每个要添加的注册表项添加 RunAsynchronousCommand。 (右键单击 RunAsynchronousCommand 属性,然后单击插入新 AsynchronousCommand)。

    Path = CMD /c REG ADD HKEY_LOCAL_MACHINE\Software\OEM /v Value /t REG_SZ ABCD
    Description = Adds a OEM registry key
    Order = 2
    RequiredUserInput = false
    

更多常见 Windows 设置:

  • 通过 添加产品密钥 来激活 Windows:Microsoft-Windows-Shell-Setup\ProductKey。 请参考 Kit Guide Win 10 Default Manufacturing Key OEM PDF 查找 OA3.0 和非 OA3.0 密钥的默认产品密钥:

    OPK X21-08790 Win Home 10 1607 32 64 English OPK\Print Content\X20-09791 Kit Guide Win 10 Default Manufacturing Key OEM\X2009791GDE.pdf.

  • 通过 在捕获映像时维护驱动程序配置 来加快首次启动速度:Microsoft-Windows-PnpSysprep/DoNotCleanUpNonPresentDevices, Microsoft-Windows-PnpSysprep/PersistAllDeviceInstalls

  • 设置 Internet Explorer 默认搜索引擎:按以上所示创建 RunAsynchronous 命令来添加注册表项:

    Path = `CMD /c REG.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings\Configuration m /v PartnerSearchCode /t REG_DWORD /d "https://search.fabrikam.com/search?p={searchTerms}" /f`   
    Description = Changes the Internet Explorer default browser to Fabrikam Search
    Order = 3
    RequiredUserInput = false
    
  • 设置 Internet Explorer 搜索范围:请参阅 范围

    示例:

    <component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SearchScopes>
      <Scope wcm:action="add">             <SuggestionsURL>http://api.bing.com/qsml.aspx?query={searchTerms}&amp;src={referrer:source?}&amp;maxwidth={ie:maxWidth}&amp;rowheight={ie:rowHeight}&amp;sectionHeight={ie:sectionHeight}&amp;FORM=IE8SSC&amp;market={Language}</SuggestionsURL>
        <FaviconURL>http://www.bing.com/favicon.ico</FaviconURL>
        <ScopeKey>Bing</ScopeKey>
        <ScopeDefault>true</ScopeDefault>
        <ScopeDisplayName>Bing</ScopeDisplayName>
        <ScopeUrl>http://www.bing.com/search?q={searchTerms}&amp;form=&PRNAM1&amp;src=PRNAM1&amp;pc=NMTE</ScopeUrl>
      </Scope>
    </SearchScopes>
    <Home_Page>http://oem17WIN10.msn.com/?pc=NMTE</Home_Page>
    
  • 通过减小或关闭休眠文件来节约驱动器空间。 休眠文件帮助缩短系统加电后启动或从节能状态恢复到正常状态的时间。 按以下所示创建 RunAsynchronous 命令。 若要了解详细信息,请参阅压缩操作系统、单实例存储和映像优化:RAM、Pagefile.sys 和 Hiberfil.sys

    Path = `powercfg /h /type reduced`   
    Description = Saves drive space by reducing hiberfile by 30%.
    Order = 4
    RequiredUserInput = false
    

    Path = `powercfg /h /off`   
    Description = Turns off the hiberfile.
    Order = 4
    RequiredUserInput = false
    

步骤 4:保存应答文件

  • 保存应答文件,例如 C:\AnswerFiles\BootToAudit-x64.xml

    注意 Windows SIM 不允许将应答文件保存到装载的映像文件夹。

步骤 5:创建脚本

  • 将以下示例脚本复制到记事本中,并将它保存为 C:\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:装载映像

使用实验 3:添加设备驱动程序 (.inf-style) 中的步骤装载映像。 简短版本:

  1. 以管理员身份打开命令行(开始 > 键入部署 > 右键单击部署和映像工具环境 > 以管理员身份运行)。

  2. 生成文件备份 (copy "C:\Images\Win10_x64\sources\install.wim" C:\Images\install-backup.wim)

  3. 装载映像(md C:\mount\windows,然后 Dism /Mount-Image /ImageFile:"C:\Images\install.wim" /Index:1 /MountDir:"C:\mount\windows" /Optimize

添加应答文件

步骤 7:添加应答文件

  1. 将应答文件复制到映像的 \Windows\Panther 文件夹中,然后将它重命名为 unattend.xml。 如果该文件夹不存在,则创建它。 如果有现有应答文件,请根据需要替换它或使用 Windows 系统映像管理器编辑/合并设置。

    MkDir c:\mount\windows\Windows\Panther
    Copy C:\AnswerFiles\BootToAudit-x64.xml  C:\mount\windows\Windows\Panther\unattend.xml
    MkDir c:\mount\windows\Fabrikam
    Copy C:\AnswerFiles\Fabrikam.bmp    C:\mount\windows\Fabrikam\Fabrikam.bmp
    Copy C:\AnswerFiles\SampleCommand.cmd    C:\mount\windows\Fabrikam\SampleCommand.cmd
    

    卸载映像

步骤 8:卸载映像

  1. 关闭所有可能从该映像访问文件的应用程序。

  2. 提交更改并卸载 Windows 映像:

    Dism /Unmount-Image /MountDir:"C:\mount\windows" /Commit
    

    其中 C 是包含该映像的驱动器的驱动器号。

    此过程可能需要几分钟。

试用

步骤 9:将映像应用到新电脑 使用实验 2:使用脚本部署 Windows 中的步骤将映像复制到存储 U 盘、应用 Windows 映像和恢复映像并且启动映像。 简短版本:

  1. 将映像文件复制到存储驱动器。
  2. 使用 Windows PE U 盘将参考设备启动到 Windows PE
  3. 查找存储驱动器的驱动器号 (diskpart, list volume, exit)。
  4. 应用映像:D:\ApplyImage.bat D:\Images\install.wim
  5. 断开驱动器,然后重新启动 (exit)。

步骤 10:验证设置和脚本

如果你的审核模式设置有效,电脑应自动启动到审核模式。 进入审核模式后,应自动启动你的脚本。

  1. 在文件资源管理器中,查看文件 C:\Fabrikam\DxDiag-TestLogFiles.txt 是否存在。 如果存在,SampleCommand.cmd 示例脚本可正常运行。

让电脑保持启动到审核模式以继续执行以下实验:

后续步骤:实验 8:添加品牌和许可协议 (OOBE.xml)