LoadState 语法

命令 LoadState.exe 与用户状态迁移工具 (USMT) 配合使用,将以前由 ScanState.exe 命令捕获的存储还原到目标计算机上。 本文讨论 LoadState.exe 命令语法及其可用的选项。

开始前

在运行 LoadState.exe 命令之前,请注意以下各项:

  • 若要确保所有操作系统设置都迁移,Microsoft建议从具有管理凭据的帐户以管理员模式运行 LoadState.exe 命令。

  • 有关运行 LoadState.exe 命令的软件要求的信息,请参阅 USMT 要求

  • 运行 LoadState.exe 命令后注销。 某些设置(例如示例、字体、壁纸和屏幕保护程序设置)在用户下次登录之前才会生效。

  • 除非另行指定,否则在从命令行运行工具时,每个选项只能使用一次。

  • LoadState 不需要域控制器访问权限来应用域配置文件。 此功能无需任何其他配置即可使用。 使用 ScanState 收集用户配置文件时,源计算机无需具有域控制器访问权限。 但是,在目标计算机加入域之前,无法访问域配置文件。

  • 不兼容的命令行选项表列出了哪些选项可以一起使用,哪些命令行选项不兼容。

语法

本部分介绍使用 命令时可用的命令行选项的 LoadState.exe 语法和用法。 可以按任意顺序指定选项。 如果 选项包含参数,则可以指定冒号或空格分隔符。

命令 LoadState.exe 的语法为:

LoadState.exe StorePath [/i:[Path\]FileName] [/v:VerbosityLevel] [/nocompress] [/decrypt /key:KeyString|/keyfile:[Path\]FileName] [/l:[Path\]FileName] [/progress:[Path\]FileName] [/r:TimesToRetry] [/w:SecondsToWait] [/c] [/all] [/ui:[DomainName|ComputerName\]UserName] [/ue:[DomainName|ComputerName\]UserName] [/uel:NumberOfDays|YYYY/MM/DD|0] [/md:OldDomainNewDomain] [/mu:OldDomain\OldUserName:[NewDomain\]NewUserName] [/lac:[Password]] [/lae] [/config:[Path\]FileName] [/?|help]

例如,若要解密存储并将文件和设置迁移到计算机,请键入以下命令:

LoadState.exe \\server\share\migration\mystore /i:MigApp.xml /i:MigDocs.xml /v:13 /decrypt /key:"mykey"

存储选项

USMT 提供了以下选项,可用于指定迁移数据的存储方式和位置。

Command-Line 选项 描述
StorePath 指示存储文件和设置数据的文件夹。 使用 LoadState.exe 命令时,必须指定 StorePath。 无法指定多个 StorePath
/decrypt /keyKeyString

/decrypt /key:“Key String

/decrypt /keyfile:[Path]FileName
使用指定的密钥解密存储区。 使用此选项时,需要通过以下方式之一指定加密密钥:
  • /keyKeyString 指定加密密钥。 如果 KeyString 中存在空格,则参数必须用引号括起来, (") 。
  • /keyfileFilePathAndName 指定包含加密密钥 (.txt) 文件的文本

KeyString 不能超过 256 个字符。
/key/keyfile 选项不能在同一命令行上使用。
/decrypt/nocompress 选项不能在同一命令行上使用。
重要提示
使用 /keykeyfile 选项时请谨慎。 例如,有权访问使用这些选项运行命令的 LoadState.exe 脚本的任何人都有权访问加密密钥。

例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /decrypt /key:mykey
/decrypt“encryption strength” 选项 /decrypt 接受命令行参数来定义为迁移存储加密指定的加密强度。 有关支持的加密算法的详细信息,请参阅 迁移存储加密
/hardlink 允许从硬链接迁移存储还原用户状态数据。 /nocompress必须使用 选项指定 /hardlink 参数。
/nocompress 指定存储未压缩。 此选项应仅在测试环境中使用。 Microsoft建议在实际迁移期间使用压缩存储。 此选项不能与 选项一起使用 /decrypt
例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /nocompress

迁移规则选项

USMT 提供以下选项来指定要迁移的文件。

Command-Line 选项 描述
/i:[Path]FileName (包括)
指定一个 .xml 文件,该文件包含定义要迁移的数据的规则。 可以多次指定此选项,以包括所有 .xml 文件 (MigApp.xmlMigSys.xml以及 MigDocs.xml) 创建的任何自定义 .xml 文件。 路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则 FileName 必须位于当前目录中。

有关要指定哪些文件的详细信息,请参阅 常见问题解答 一文的“XML 文件”部分。
/config:[Path]FileName 指定 Config.xml 命令应使用的文件 LoadState.exe 。 不能在命令行上多次指定此选项。 路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则 FileName 必须位于当前目录中。

此示例基于 、 MigDocs.xml和 文件中Config.xml的规则迁移文件和MigApp.xml设置:

LoadState.exe \server\share\migration\mystore /config:Config.xml /i:MigDocs.xml /i:MigApp.xml /v:5 /l:LoadState.log
/auto“脚本文件的路径” 此选项允许指定默认 .xml 文件的位置。 如果未指定路径,USMT 将使用 USMT 二进制文件所在的目录。 选项 /auto 的效果与使用以下选项的效果相同: /i:MigDocs.xml/i:MigApp.xml /v:5

监视选项

USMT 提供了多个命令行选项,可用于分析迁移过程中出现的问题。

Command-Line 选项 描述
/l:[Path]FileName 指定 LoadState 日志的位置和名称。 日志文件不能存储在 StorePath 中路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则会在当前目录中创建日志。 /v可以指定 选项来调整日志的详细程度。

如果从共享网络资源运行 LoadState.exe 命令, l 则必须指定 选项,否则 USMT 失败并出现错误:

USMT 无法创建日志文件 ()

若要解决此问题,请确保在从共享网络资源运行时LoadState.exe指定 /l 选项。
/v<VerbosityLevel> (详细)

LoadState 日志文件中启用详细输出。 默认值为 0。
VerbosityLevel 可以设置为以下级别之一:
  • 0 - 仅启用默认错误和警告。
  • 1 - 启用详细输出。
  • 4 - 启用错误和状态输出。
  • 5 - 启用详细和状态输出。
  • 8 - 启用错误输出到调试器。
  • 9 - 启用调试器的详细输出。
  • 12 - 启用调试器的错误和状态输出。
  • 13 - 启用详细、状态和调试器输出。

例如:
LoadState.exe \server\share\migration\mystore /v:5 /i:MigDocs.xml /i:MigApp.xml
/progress:[Path]FileName 创建可选的进度日志。 日志文件不能存储在 StorePath 中路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则会在当前目录中创建 FileName

例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /progress:Progress.log /l:loadlog.log
/c 指定此选项后,即使发生非严重错误, LoadState.exe 命令也会继续运行。 导致错误的任何文件或设置都会记录在进度日志中。 例如,如果计算机上存在不适合的大型文件,该 LoadState.exe 命令会记录错误并继续迁移。 /c如果没有 选项,命令将在LoadState.exe第一个错误时退出。 <可以在文件中使用 Config.xmlErrorControl> 节来指定可以安全地忽略哪些文件或注册表读/写错误,以及哪些错误可能导致迁移失败。 通过此错误控制, /c 命令行选项可以安全地跳过环境中的所有输入/输出 (I/O) 错误。 此外, /genconfig 选项现在会生成一个示例 <ErrorControl> 节,该节通过指定文件中的错误消息和所需行为 Config.xml 来启用。
/r<TimesToRetry> (重试)

指定从服务器迁移用户状态时发生错误时重试的次数。 默认值为三次。 此选项在网络连接不可靠的环境中很有用。

还原用户状态时, /r 选项不会恢复由于网络硬件故障(例如网络电缆故障或断开连接)或虚拟专用网络 (VPN) 连接失败而丢失的数据。 重试选项适用于连接令人满意但通信延迟存在问题的大型繁忙网络。
/w<SecondsBeforeRetry> (等待)

指定重试网络文件操作之前等待的时间(以秒为单位)。 默认值为 1 秒。
/?/help 在命令行上显示“帮助”。

用户选项

默认情况下,将迁移所有用户。 指定要包含和排除的用户的唯一方法是使用以下选项。 不能在迁移 .xml 文件或使用 Config.xml 文件排除用户。 有关详细信息,请参阅 标识用户

Command-Line 选项 描述
/都 迁移计算机上的所有用户。

USMT 迁移计算机上的所有用户帐户,除非使用 或 /uel 选项专门排除了/ue帐户。 因此,不需要在命令行上指定此选项。 但是,如果使用 /all 选项, /ui则不能也使用 、 /ue/uel 选项。
/uiDomainName UserName

/ui“DomainName 用户名”

/uiComputerName LocalUserName
(用户包括)

迁移指定的用户。 默认情况下,迁移中包括所有用户。 因此,仅当与 选项一起使用时, /ue 此选项才有用。 可以指定多个 /ui 选项, /ui 但选项不能与 选项一 /all 起使用。 DomainNameUserName 可以包含星号 (*) 通配符。 指定包含空格的用户名时,需要用引号 " () 括起来。

例如,若要仅包含“公司”域中的 User2 ,请输入:

/ue:* /ui:corporate\user2

注意
如果指定/ui了包含选项的用户,并且还指定使用 或 /uel 选项排除/ue该用户,则迁移中将包含该用户。

有关更多示例,请参阅此表中的 /uel/ue/ui 选项的说明。
/uel<NumberOfDays>

/uel<YYYY/MM/DD>

/uel:0
(基于上次登录) 排除用户

根据源计算机上Ntuser.dat文件的上次修改日期,仅迁移在指定时间段内登录到源计算机的用户。 选项 /uel 充当包含规则。 例如, /uel:30 选项迁移自命令运行日期 ScanState.exe 起的过去 30 天内登录的用户或其用户帐户被修改的用户。 可以指定天数,也可以指定日期。 此选项不能与 选项一起使用 /all 。 USMT 从本地计算机检索最后一次登录信息,因此运行此选项时,无需将计算机连接到网络。 此外,如果域用户登录到另一台计算机,USMT 不会考虑该登录实例。
注意
选项 /uel 在脱机迁移中无效。

示例:
  • /uel:0 迁移运行命令时 ScanState.exe 登录到源计算机的帐户。
  • /uel:90 迁移在过去 90 天内登录的用户或其帐户被修改的用户。
  • /uel:1 迁移在过去 24 小时内修改了帐户的用户。
  • /uel:2020/2/15 迁移登录的用户或自 2020 年 2 月 15 日以来修改的帐户的用户。

例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /uel:0
/ueDomainName\UserName

/ue“DomainName\User Name”

/ueComputerName\LocalUserName
(用户排除)

从迁移中排除指定的用户。 可以使用多个 /ue 选项, /ue 但选项不能与 选项一起使用 /allDomainNameUserName 可以包含星号 (*) 通配符。 指定包含空格的用户名时,需要用引号 " () 括起来。

例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /ue:contoso\user1
有关更多示例,请参阅此表中的 /uel/ue/ui 选项的说明。
/mdOldDomainNewDomain

/mdLocalComputerName:NewDomain
(移动域)

为用户指定新域。 使用此选项可更改计算机上的用户的域,或将本地用户迁移到域帐户。 OldDomain 可能包含星号 () 通配符。

可以多次指定此选项。 如果将跨多个域的用户合并到单个域,可能需要指定多个 /md 选项。 例如,若要将公司域和 FarNorth 域中的用户合并到 Fabrikam 域,请指定以下设置: /md:corporate:fabrikam/md:farnorth:fabrikam

如果两 /md 个命令之间存在冲突,则应用指定的第一个规则。 例如,如果 /md:corporate:fabrikam 指定 了 和 /md:corporate:farnorth 命令,则公司用户将映射到 Fabrikam 域。
注意
如果指定了源计算机上不存在的域,则该 LoadState.exe 命令似乎成功完成,而不会显示错误或警告。 但是,在这种情况下,用户不会移动到 NewDomain, 而是保留在其原始域中。 例如,如果 contoso 拼写错误,而是指定 了 /md:contso:fabrikam ,则用户将保留在目标计算机上的 contoso 中。

例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore
/progress:Progress.log /l:LoadState.log /md:contoso:fabrikam
/muOldDomain OldUserName:[NewDomain]NewUserName

/muOldLocalUserNameNewDomain NewUserName
(移动用户)

指定指定用户的新用户名。 如果存储区包含多个用户,则可以指定多个 /mu 选项。 通配符不能与此选项一起使用。

例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore
/progress:Progress.log /l:LoadState.log /mu:contoso\user1:fabrikam\user1
/lac:[Password] (本地帐户创建)

如果用户帐户为:
  • 本地 (非域) 帐户
  • 目标计算机上不存在的帐户
此设置指定在目标计算机上创建帐户。 但是,该帐户已禁用。 若要启用帐户, /lae 还必须使用 选项。

/lac如果未指定 选项,则不会迁移目标计算机上尚不存在的任何本地用户帐户。

密码 是新创建的帐户的密码。 默认使用空密码。
注意
请谨慎使用 Password 变量。 Password 变量以纯文本形式提供,有权访问运行LoadState.exe命令的计算机的任何人都可以获取密码。
此外,如果计算机有多个用户,则所有迁移的用户具有相同的密码。

例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore

有关说明,请参阅 迁移用户帐户
/lae (本地帐户启用)

启用使用 /lac 选项创建的帐户。 /lac必须使用此选项指定选项。

例如:
LoadState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore
/progress:Progress.log /l:LoadState.log /lac:password /lae

有关说明,请参阅 迁移用户帐户

/ui 和 /ue 选项的示例

以下示例适用于 /ui/ue 选项。 / ue 选项可以替换为 /ui 选项,以包括(而不是排除)指定的用户。

行为 命令
排除公司域中名为“用户一”的用户。 /ue:"corporate\user one"
排除公司域中名为 User1 的用户。 /ue:corporate\user1
排除名为 User1 的本地用户。 /ue:%computername%\user1
排除所有域用户。 /ue:Domain
排除所有本地用户。 /ue:%computername%
排除名为 User1、User2 等的所有域中的用户。 /ue:\user

一起使用选项

/uel/ue/ui 选项可以一起使用,以便仅迁移需要迁移的用户。

/ui 选项优先于 /ue 和 /uel 选项。 如果使用 选项包含 /ui 用户,并且还使用 /ue/uel 选项排除了用户,则迁移中将包含该用户。 例如,如果 /ui:contoso\* /ue:contoso\user1 指定 了 ,则迁移 User1,因为 /ui 选项优先于 /ue 选项。

/uel 选项优先于 /ue 选项。 如果用户在 选项设置 /uel 的指定时间段内登录,则即使使用 /ue 选项排除了该用户的配置文件,也会迁移该用户的配置文件。 例如,如果 /ue:contoso\user1 /uel:14 指定 了 ,则如果用户在过去 14 天内登录到计算机,则会迁移 User1。

行为 命令
仅包括 Fabrikam 域中的 User2,并排除所有其他用户。 /ue:* /ui:fabrikam\user2
仅包括名为 User1 的本地用户,并排除所有其他用户。 /ue:* /ui:user1
仅包括 Contoso 中的域用户,Contoso\User1 除外。 不能使用单个命令完成此行为。 相反,若要迁移这组用户,请指定以下选项:
  • 使用 ScanState 命令行工具输入:
    /ue:* /ui:contoso
  • 使用 LoadState 命令行工具,输入:
    /ue:contoso\user1
仅包括本地 (非域) 用户。 /ue: /ui:%computername%*

不兼容的命令行选项

下表指示哪些命令行选项与 LoadState.exe 命令不兼容。 如果特定组合的表项具有 ✅,则这些选项是兼容的,并且可以一起使用。 符号 ❌ 表示选项不兼容。 例如, /nocompress 选项不能与 选项一起使用 /encrypt

Command-Line 选项 /keyfile /nocompress /genconfig /都
/我
/v
/nocompress 不适用
/钥匙
/解密 必填*
/keyfile 不适用
/l
/进展
/r
/w
/c
/p 不适用
/都
/用户界面
/ue
/uel
/genconfig 不适用
/config
StorePath
/md
/木
/lae
/紫胶

注意

/key必须使用 选项指定 /decrypt/keyfile 选项。