从预启动执行环境 (PXE) 安装新操作系统时,用户状态迁移工具 (USMT) 5.0 可以与 Windows Server® 2003、Windows Server 2008、Windows Server 2008 R2 或 Windows Server® 2012 中的 Windows 部署服务配合使用,以迁移用户状态。组合了包含操作系统和应用程序的自定义 Windows 映像时,此方法提供了将用户转移到新操作系统(基于现有硬件)的快速方法。
本分步指南提供的基本示例说明了在使用 Windows 部署服务进行远程安装时,如何使用 USMT 从 Windows Vista® 向 Windows(R) 8 迁移文件和设置。此示例使用硬链接迁移。可以使用硬链接迁移执行就地迁移,在此迁移中,在计算机上保留所有用户状态的同时,删除旧操作系统并安装新操作系统。在此过程结束时,你会看到使用已迁移设置的 Windows 8 安装的 Windows 部署服务菜单选项。
在此示例中,你会创建命令脚本并修改应答文件以便在无人参与安装期间调用 USMT 工具。也可以为你的 USMT 迁移创建自定义的 .xml 文件。然后,你可以将 USMT 工具和自定义文件添加到 Boot.wim 映像文件中以便在 Windows 部署服务服务器上使用。最后,应将必要文件导入 Windows 部署服务服务器并测试远程安装。
本文档内容
优势
要求
安装 Windows ADK
步骤 1:为 USMT 创建自定义 .xml 文件
步骤 2:创建命令脚本以运行 USMT 工具
步骤 3:创建无人参与应答文件
步骤 4:自定义 Boot.wim 文件
步骤 5:将文件导入到 Windows 部署服务服务器
后续步骤
示例文件附录
优势
使用此方案具有下述优势:
**部署速度。**使用 USMT 进行硬链接迁移期间不会移动或复制文件。这有助于减少将文件迁移到新操作系统的所用的时间。有关硬链接迁移存储的详细信息,请参阅硬链接迁移存储。
**可恢复的数据。**在安装过程中,不会从系统删除文件。用户配置文件和其他数据会转移到 Windows.old 目录。如果发生错误,则 Windows.old 目录中的用户数据仍然可用。
**硬件资源。**迁移文件时,使用硬链接迁移存储减少了对外部存储设备的需求。
**用户初始化。**对于通过 PXE 访问 Windows 部署服务服务器的人,可以根据自己的个人日程安排,决定安装新操作系统的时间。
要求
若要完成此方案,需要具备以下条件:
Windows 8 产品 DVD
Windows 评估和部署工具包 (Windows ADK)
可以直接从 Internet 安装 Windows ADK。还可以使用具有 Internet 访问的计算机下载安装程序文件,以便可以在脱机计算机上运行安装程序。在 Windows ADK 安装程序向导中,你可以选择要安装的组件,例如 USMT。
技术人员计算机
技术人员计算机是已经安装 Windows ADK 的任何计算机。
Windows 部署服务服务器
Windows 部署服务服务器必须运行 Windows Server 2008、Windows Server 2008 R2 或 Windows Server 2012。有关如何配置 Windows 部署服务服务器的详细信息,请参阅此 Microsoft 网站。
可选:自定义的 Install.wim 文件
有关创建自定义 Install.wim 文件的详细信息,请参阅部署映像服务和管理 (DISM) 技术参考和 Windows 部署选项。
重要
所使用的 Install.wim 文件必须与产品 DVD 中的 Boot.wim 文件的版本相匹配。例如,如果使用来自 带 SP1 的 Windows Vista 的 Boot.wim 文件,则也必须使用来自 带 SP1 的 Windows Vista 的 Install.wim 文件。
安装 Windows ADK
安装 Windows ADK 的步骤:
在技术人员计算机上运行 ADK 安装程序。
选择“安装”,指定要安装 ADK 功能的位置,然后单击“下一步”。
在“评估和部署工具包”窗口中,选择要安装的功能(包括 USMT),然后单击“安装”。
步骤 1:为 USMT 创建自定义 .xml 文件
创建自定义 .xml file 文件,以便在目标计算机上从 Windows.old 目录恢复文件。
在为此部署所创建的应答文件中,将指定在安装前 Windows 安装不应擦除磁盘。对于包含 Windows 操作系统的目录,该操作会保留其外部的磁盘上的文件和目录。此外,Windows 安装程序可能创建 Windows.old 目录对一些文件进行存档,否则新操作系统可能覆盖这些文件。
例如,在一台带有 C: 和 D: 驱动器的计算机上,其中 C: 驱动器中存在很多目录,Windows 安装程序会仅将三个目录(Users、Program Files 和 Windows)从 C: 驱动器转移到 Windows.old 目录。将忽略 C: 驱动器上的所有其他目录以及 D: 驱动器上的所有数据。然后,在 C: 驱动器上创建新版本的 Users、Program Files 和 Windows 目录,以包含 Windows 8。
安装完成时,除了已经转移到 Windows.old 目录的限量数据,所有文件都会回归其原始位置。
用于 USMT 的自定义 .xml 文件应指定参数,以便仅扫描已经转移到 Windows.old 目录的文件,然后将它们加载到磁盘上的新 Windows 目录中。
重要
如果没有为此方案创建自定义 .xml 文件,或者使用了默认 Migdocs.xml 文件,则将扫描 Windows 操作系统目录之外的磁盘上的所有文件,并将每个文件的副本加载回磁盘。
此文档的示例文件附录中包含了示例文件。
有关如何为 USMT 创建自定义 .xml 文件的详细信息,请参阅自定义 USMT XML 文件。
将此自定义 .xml 文件另存为 Userprofile.xml。
步骤 2:创建命令脚本以运行 USMT 工具
构建调用 USMT 命令行工具的命令脚本。
启动记事本或可用于创建命令脚本的其他文本编辑器。
针对目标计算机的处理器体系结构创建变量。按照该体系结构,将 USMT 工具保存到不同的目录中。可以使用此变量更改 USMT 工具的路径。例如,
IF '%PROCESSOR_ARCHITECTURE%' == 'x86' (SET USMTPATH=x86) ELSE (SET USMTPATH=x64)使用 ScanState 工具创建硬链接迁移存储,并从目标计算机上的 Windows.old 目录收集文件和设置。使用“/i:”选项指定自定义的 Userprofile.xml 文件。例如,
call <path to USMT tools>\%USMTPATH%\scanstate.exe %systemdrive%\store /v:13 /o /c /hardlink /nocompress /efs:hardlink /i:<path to USMT tools>\scripts\UserProfile.xml /i:<path to USMT tools>\%USMTPATH%\MigApp.xml /offlineWinOld:%systemdrive%\Windows.old\Windows /l:<path to USMT tools>\scanstate.log /progress:<path to USMT tools>\progress_scanstate.log当你按照步骤 4 装载 Windows 映像(例如 %windir%\sources\$OEM$\$$\usmt)时,其中的 <path to USMT tools> 是指向你复制 USMT 工具所处目录的路径。
重要
如果已经存在 Windows.old 目录,则会将新文件夹命名为 Windows.old.nnn,其中 nnn 为三个数字编号,例如 000 或 001。如果已在同一台计算机上安装了多次 Windows,则最新版本的文件可能不在 Windows.old 文件夹中。
有关如何使用 ScanState 工具的详细信息,请参阅 ScanState 语法。
使用 LoadState 工具将文件和设置从硬链接迁移存储应用到目标计算机上新安装的 Windows 中。使用“/i:”选项指定自定义的 Userprofile.xml 文件。例如,
call <path to USMT tools>\%PATH%\loadstate.exe %systemdrive%\store /v:13 /c /hardlink /nocompress /lac /lae /i:<path to USMT tools>\scripts\UserProfile.xml /i:<path to USMT tools>\%PATH%\MigApp.xml /l:<path to USMT tools>\loadstate.log /progress:<path to USMT tools>\progress_loadstate.log当你按照步骤 4 装载 Windows 映像(例如 %windir%\sources\$OEM$\$$\usmt)时,其中的 <path to USMT tools> 是指向你复制 USMT 工具所处目录的路径。
有关如何使用 LoadState 工具的详细信息,请参阅 LoadState 语法。
完成迁移时,使用带有“/rd”选项的 USMTUtils 工具删除硬链接迁移工具。例如:
call ECHO Y | <path to USMT tools>\%PATH%\usmtutils /rd %systemdrive%\store当你按照步骤 4 装载 Windows 映像(例如 %windir%\sources\$OEM$\$$\usmt)时,其中的 <path to USMT tools> 是指向你复制 USMT 工具所处目录的路径。
将错误检查添加到你的命令脚本。有关示例,请参阅示例文件附录。
将此文件保存到技术人员计算机作为命令脚本;示例文件名为 Usmt.cmd。
步骤 3:创建无人参与应答文件
创建应答文件的步骤
在技术人员计算机上,插入 Windows 8 产品 DVD。
导航到 DVD-ROM 驱动器上的 \Sources 目录,并将 install.wim 文件从 Windows 产品 DVD 复制到计算机上的某个位置。
若要打开 Windows SIM,请依次单击“开始”、“所有程序”、“Windows 工具包”、“Windows ADK”,然后单击“Windows 系统映像管理器”。
在“文件”菜单上,单击“选择 Windows 映像”。
在“选择 Windows 映像”对话框中,转移到 install.wim 的位置,然后单击“打开”。
系统将提示你选择映像。选择要安装的 Windows 映像,然后单击“确定”。
系统将提示你创建目录文件。单击“是”生成目录文件。
如果“用户帐户控制”窗口提示你批准此程序,则可以选择允许此程序或取消安装。
在“文件”菜单上,单击“新建应答文件”。一个空应答文件会出现在“应答文件”窗格中。
添加和配置 Windows 设置的步骤
有关如何自定义应答文件的详细信息,请参阅使用 Windows ADK 安装的 Windows® 无人参与安装参考。针对此方案,可以添加同步命令调用运行 USMT 工具的命令脚本,可以配置 Windows 部署服务设置,还可以定义基本的磁盘配置。
展开组件列表。在 Windows SIM 的“Windows 映像”窗格中,依次单击“组件”、“Microsoft-Windows-Shell-Setup”以及“FirstLogonCommands”。
添加 SynchronousCommand 运行你创建的命令文件。右键单击“SynchronousCommand” ,然后单击“将设置添加到 Pass 7 oobeSystem”。
将 SynchronousCommand 节点添加到 Windows SIM 的“应答文件”窗格下的树中。
在 Windows SIM 的“SynchronousCommand 属性”窗格中,将“顺序”设置为 1,并包含为调用 USMT 工具而创建的命令文件的文件名。也可包括说明。例如:
属性 值 CommandLine
cmd.exe /c <path to USMT.cmd>\usmt.cmd说明
调用 USMT 工具
顺序
1
当你按照步骤 4 装载 Windows 映像(例如 %windir%\sources\$OEM$\$$\usmt)时,其中的 <path to USMT.cmd> 是指向你复制 USMT.cmd 文件所处目录的路径。
USMT 运行后,添加另一个 SynchronousCommand 以重新启动计算机。右键单击“Windows 映像”窗格中的“SynchronousCommand”,然后单击“将设置添加到 Pass 7 oobeSystem”。
将 SynchronousCommand 节点添加到 Windows SIM 的“应答文件”窗格下的树中。
在 Windows SIM 的“SynchronousCommand 属性”窗格中,将“顺序”设置为 2,并包括该命令以重新启动计算机。也可包括说明。例如:
属性 值 CommandLine
shutdown /r /t 0说明
运行 USMT 后重新启动
顺序
2
将映像特定信息添加到 Windows 部署服务的应答文件中。在 Windows SIM 的“Windows 映像”窗格中,单击“Microsoft-Windows-Setup”,右键单击“WindowsDeploymentServices”, 然后单击“将设置添加到 Pass 1 windowsPE”。
将 WindowsDeploymentServices 节点添加到 Windows SIM 的“应答文件”窗格下的树中。
为 WindowsDeploymentServices 和“属性”窗格中的子节点添加下述值。
属性 值 Image Selection\Install Image\Image Name
<Image Name>
Image Selection\Install Image\Image Group
<Image Group>
Image Selection\Install To\DiskID
<DiskID>
Image Selection\Install To\PartitionID
<PartitionID>
其中的 <Image Name> 和 <Image Group> 是识别符,可以在 Windows 部署服务服务器上的 Windows 部署服务控制台中使用。
重要
<DiskID> 和 <PartitionID> 值视环境而定。包含磁盘和分区信息并确保精确,以便在目标计算机自动处理 Windows OOBE 中的磁盘格式化屏幕,这非常重要。如果这些屏幕没有自动处理,则用户可以选择格式化磁盘所用的磁盘和分区选项,并在可以迁移文件和设置之前删除它们。
将 DiskConfiguration 添加到应答文件。在 Windows SIM 的“Windows 映像”窗格中,单击“Microsoft-Windows-Setup”,右键单击“DiskConfiguration”, 然后单击“将设置添加到 Pass 1 windowsPE”。
将 DiskConfiguration 节点添加到 Windows SIM 的“应答文件”窗格下的树中。
包括适用于你的环境的 DiskConfiguration 值。有关示例,请参阅本文档的示例文件附录中的示例应答文件。
重要
DiskConfiguration 值视环境而定。选择将在 Windows.old 目录中保留磁盘和用户文件的值,这非常重要。如果将错误的 DiskConfiguration 值用于安装,则可以格式化磁盘,并在可以迁移文件和设置之前删除它们。
可选:将 domain-joining 命令添加到应答文件。根据网络环境的不同,可使用多种方法连接域中的目标计算机。可以配置 Windows 部署服务连接域,将 domain-joining 任务添加到步骤 2 中的命令脚本,同时部署已经连接到域的映像,或者使用无人参与应答文件中提供的设置。
对于 Windows SIM 的“Windows 映像”窗格,要使用其中应答文件的设置,单击“Microsoft-Windows-UnattendJoin”,右键单击“识别”, 然后单击“将设置添加到 Pass 4 windowsPE”。
将“识别”节点添加到 Windows SIM 的“应答文件”窗格下的树中。
包括网络环境要求的值。例如,包含“JoinWorkgroup”,并在“证书”节点下包含“域”、“用户名”和“密码”。
有关如何使用无人参与应答文件中的该组件的详细信息,请参阅使用 Windows ADK 安装的 Windows® 无人参与安装参考 中的 Microsoft-Windows-UnattendedJoin 主题。
验证并保存设置的步骤
通过从“工具”菜单中选择“验证应答文件”,验证应答文件。在 Windows SIM 的“消息”窗格中会出现错误或警告。
将应答文件另存为 Unattend.xml。在“文件”菜单中,单击“将应答文件另存为”,浏览到要保存文件的位置,在“文件名”文本框中键入
Unattend,然后单击“保存”。关闭 Windows SIM。
步骤 4:自定义 Boot.wim 文件
使用部署映像服务和管理 (DISM) 工具装载 Boot.wim 文件并添加 USMT 工具和你的自定义文件。
将 Boot.wim 文件从 Windows DVD 复制到技术人员计算机。例如,在命令提示符下键入:
xcopy D:\sources\boot.wim C:\imaging\在技术人员计算机的已提升命令提示符下,创建目录并装载带有读/写权限的映像。例如:
mkdir C:\mounted_images dism /Mount-Image /ImageFile:D:\imaging\boot.wim /index:2 /MountDir:C:\mounted_images在此命令中,D:\imaging\boot.wim 是要装载的 .wim 文件的名称和位置,2 是 .wim 文件中特定卷的引用编号。
将 USMT 工具复制到已装载的映像。例如:
xcopy "C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\User State Migration Tool\" C:\mounted_images\sources\$OEM$\$$\usmt /e将命令脚本复制到已装载的映像。例如,在命令提示符下键入:
xcopy C:\myscripts\USMT.cmd C:\mounted_images\sources\$OEM$\$$\usmt将 Unattend.xml 文件复制到已装载的映像。例如,在命令提示符下键入:
xcopy C:\myfiles\unattend.xml C:\mounted_images\sources\$OEM$\$$\usmt创建或修改 Winpeshl.ini 文件以使用 Windows PE 的 unattended-setup 文件调用 Windows 安装程序。例如:
启动记事本或可用于创建配置文件的其他文本编辑器。
在 LaunchApps 部分包含 Windows 安装程序,并在 Windows 映像中使用 unattended-setup 文件的路径。例如:
[LaunchApp] AppPath = %SYSTEMDRIVE%\myshell.exe [LaunchApps] %SYSTEMDRIVE%\setup.exe /unattend:%systemdrive%:\sources\$OEM$\$$\usmt\unattend.xml在技术人员计算机上,将文件另存为 Winpeshl.ini。
将 Winpeshl.ini 文件复制到已装载映像的 system32 目录。例如,在命令提示符下键入:
xcopy C:\myfiles\winpeshl.ini C:\mounted_images\Windows\System32
备注你将需要支持迁移的 Windows PE 版本。例如,若要迁移到 Windows 8.1,你将需要 Windows PE 5.0。有关详细信息,请参阅 Windows PE 中的新增功能。 修改映像后,必须卸载该映像。你还必须确认这些更改,以将这些修改另存为映像中的永久部分。在命令提示符下键入:
dism /unmount-Image /MountDir:C:\mounted_images /commit其中 C:\mounted_images 是装载目录的位置。
步骤 5:将文件导入到 Windows 部署服务服务器
你必须导入自定义映像,并配置 Windows 部署服务服务器,以将新的 USMT 集成部署添加到 PXE 菜单。
将自定义文件和映像复制到网络共享或可移动的媒体。例如,\\Server\Share\WDS。
在 Windows 部署服务服务器上启动 Windows 部署服务控制台。依次单击“开始”、“管理工具”和“Windows 部署服务”。
在“Windows 部署服务”窗口的左侧窗格中,展开要导入映像文件的服务器的树视图。
右键单击服务器的“启动映像”目录,并选择“添加启动映像”。
将打开“添加映像向导”。
备注还可以在命令提示符下添加映像。例如, wdsutil.exe /add-image /imagefile:<locationofboot.wim> /imagetype:boot。其中 <locationofboot.wim> 是要添加的映像文件的位置。浏览到 Boot.wim 文件。例如,\\Server\Share\WDS\boot.wim。单击“下一步”。
为 Boot.wim 映像选择映像名称,例如,win_withUSMT。输入映像说明,例如“安装 Windows 8 并迁移用户文件”,然后单击“下一步”。
在“摘要”屏幕上单击“下一步”,然后单击“完成”。
在“Windows 部署服务”窗口的左侧窗格中,右键单击所选服务器的“安装映像”目录,然后单击“添加映像组”。
键入名称,然后单击“确定”。
重要
安装映像组和安装映像的名称必须与 Unattend.xml 文件中的输入内容相匹配。
右键单击你创建的映像组,然后单击“添加安装映像”。
将打开“添加映像向导”。
浏览到 Install.wim 文件。例如,\\Server\Share\WDS\install.wim。单击“下一步”。
选择要从文件中添加的映像,然后单击“下一步”。
在“摘要”屏幕上单击“下一步”,然后单击“完成”。
在“Windows 部署服务”窗口中,右键单击导入的映像,并选择“属性”。选中“允许映像以无人参与模式安装”,然后单击“选择文件”浏览到你所创建的 unattend.xml 文件的位置。单击“确定”。
目前 Windows 部署服务服务器的 PXE 启动菜单提供了使用 USMT 自定义映像的菜单选项,按你在 Windows 部署服务向导和 Unattended-setup 文件中指定的映像名称列出。
现在可以测试目标计算机上的安装。
后续步骤
你应测试 Windows 部署服务映像安装,验证你的磁盘分区值的精确性,确保已迁移了想要的内容。此外,可以验证你的目标计算机是否按预想连接了域。
对于贵公司所用的其他配置,遵循本文档中的步骤,你可以通过已迁移文件和设置添加安装选项。有关 USMT 迁移对象的详细信息,请参阅用户状态迁移工具 (USMT) 概述。
示例文件附录
示例 Userprofile.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/miguser">
<!-- This component migrates data in user context -->
<component type="Documents" context="User">
<displayName>MigDocUser</displayName>
<role role="Data">
<rules>
<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<script>MigXmlHelper.GenerateDocPatterns ("FALSE","TRUE","FALSE")</script>
</objectSet>
</include>
<exclude filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
<objectSet>
<script>MigXmlHelper.GenerateDocPatterns ("FALSE","FALSE","FALSE")</script>
</objectSet>
</exclude>
<!-- Example:
<exclude>
<objectSet>
<pattern type="File">%CSIDL_MYVIDEO%\* [*]</pattern>
</objectSet>
</exclude>
-->
<contentModify script="MigXmlHelper.MergeShellLibraries('TRUE','TRUE')">
<objectSet>
<pattern type="File">*[*.library-ms]</pattern>
</objectSet>
</contentModify>
<merge script="MigXmlHelper.SourcePriority()">
<objectSet>
<pattern type="File">*[*.library-ms]</pattern>
</objectSet>
</merge>
</rules>
</role>
</component>
</migration>
用于调用 USMT 工具的示例命令脚本
@echo off
IF '%PROCESSOR_ARCHITECTURE%' == 'x86' (SET USMTPATH=x86) ELSE (SET USMTPATH=amd64)
:SCAN
call %windir%\usmt\%USMTPATH%\scanstate.exe %systemdrive%\store /v:13 /o /c /hardlink /nocompress /efs:hardlink /i:%windir%\usmt\scripts\UserProfile.xml /i:%windir%\usmt\%USMTPATH%\MigApp.xml /offlineWinOld:%systemdrive%\Windows.old\Windows /l:%windir%\usmt\scanstate.log /progress:%windir%\usmt\progress_scanstate.log
if %errorlevel%==0 (GOTO :LOAD) ELSE (GOTO :FAIL)
:LOAD
call %windir%\usmt\%USMTPATH%\loadstate.exe %systemdrive%\store /v:13 /c /hardlink /nocompress /lac /lae /i:%windir%\usmt\scripts\UserProfile.xml /i:%windir%\usmt\%USMTPATH%\MigApp.xml /l:%windir%\usmt\loadstate.log /progress:%windir%\usmt\progress_loadstate.log
if %errorlevel%==0 (GOTO :CLEAN) ELSE (GOTO :FAIL)
:CLEAN
call ECHO Y | %windir%\usmt\%USMTPATH%\usmtutils /rd %systemdrive%\store
:SUCCESS
echo USMT restore from Windows.old completed successfully!
GOTO :END
:FAIL
echo USMT restore from Windows.old failed. Check the logs for details.
:END
示例 Unattend.xml 文件
安全性备注 |
|---|
| 以示例形式包括该代码。在 Microsoft-Windows-Setup 配置阶段,提供支持环境中的目标计算机的磁盘和分区值是很重要的。如果安装时使用了错误值,则可以格式化磁盘,并在可以迁移用户的文件和设置之前删除它们。 |
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State">
<ImageInstall>
<OSImage>
<WillShowUI>OnError</WillShowUI>
</OSImage>
</ImageInstall>
<WindowsDeploymentServices>
<Login>
<WillShowUI>Always</WillShowUI>
</Login>
<ImageSelection>
<WillShowUI>OnError</WillShowUI>
<InstallImage>
<ImageName>windows_usmt_ultimate</ImageName>
<ImageGroup>windows_usmt</ImageGroup>
</InstallImage>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>1</PartitionID>
</InstallTo>
</ImageSelection>
</WindowsDeploymentServices>
<DiskConfiguration>
<WillShowUI>OnError</WillShowUI>
<Disk> <DiskID>0</DiskID> <WillWipeDisk>false</WillWipeDisk> <ModifyPartitions> <ModifyPartition> <Order>1</Order> <PartitionID>1</PartitionID> <Letter>C</Letter> </ModifyPartition> </ModifyPartitions> </Disk> </DiskConfiguration>
<UpgradeData>
<Upgrade>false</Upgrade>
</UpgradeData>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FirstLogonCommands>
<SynchronousCommand>
<Order>1</Order>
<CommandLine>cmd.exe /c %windir%\usmt\scripts\usmt.cmd</CommandLine>
<Description>call USMT</Description>
</SynchronousCommand>
<SynchronousCommand>
<Order>2</Order>
<CommandLine>shutdown /r /t 0</CommandLine>
<Description>reboot the machine</Description>
</SynchronousCommand>
</FirstLogonCommands>
</component>
</settings>
</unattend>
安全性备注