ScanState 语法
命令 ScanState.exe
与用户状态迁移工具 (USMT) 一起使用,以扫描源计算机、收集文件和设置以及创建存储。 本文讨论 ScanState.exe
命令语法及其可用的选项。
开始前
在运行 ScanState.exe
命令之前,请注意以下各项:
若要确保所有操作系统设置都迁移,请在 中从具有管理凭据的帐户以管理员模式运行
ScanState.exe
命令。如果迁移存储已加密,则需要加密密钥或包含加密密钥的文件的路径。 请务必记下密钥或密钥文件位置,因为此信息不会保留在迁移存储中的任何位置。 运行命令以解密迁移存储或需要使用恢复实用工具时
LoadState.exe
,需要此信息。 密钥或密钥文件不正确或缺失会导致错误消息。有关运行
ScanState.exe
命令的软件要求的信息,请参阅 USMT 要求。除非另有说明,否则在命令行上运行工具时,仅使用每个选项一次。
可以在源计算机没有域控制器访问权限的情况下收集域帐户。 此功能无需任何额外配置即可使用。
不兼容的命令行选项表列出了哪些选项可以一起使用,哪些命令行选项不兼容。
保存迁移存储的目录位置将从扫描中排除。 例如,如果将迁移存储保存到 D 驱动器的根目录,则会从扫描中排除 D 驱动器及其所有子目录。
语法
本部分介绍使用 命令时可用的命令行选项的 ScanState.exe
语法和用法。 可以按任意顺序指定选项。 如果 选项包含参数,则可以使用冒号或空格分隔符。
命令 ScanState.exe
的语法为:
ScanState.exe [StorePath] [/apps] [/ppkg:FileName] [/i:[Path\]FileName] [/o] [/v:VerbosityLevel] [/nocompress] [/localonly] [/encrypt /keyString|/keyfile:[Path\]FileName] [/l:[Path\]FileName] [/progress:[Path\]FileName] [/r:TimesToRetry] [/w:SecondsBeforeRetry] [/c] [/p] [/all] [/ui:[DomainName|ComputerName\]UserName] [/ue:[DomainName|ComputerName\]UserName] [/uel:NumberOfDays|YYYY/MM/DD|0] [/efs:abort|skip|decryptcopy|copyraw] [/genconfig:[Path\]FileName[/config:[Path\]FileName] [/?|help]
例如,若要在当前目录中创建 Config.xml
文件,请使用:
ScanState.exe /i:MigApp.xml /i:MigDocs.xml /genconfig:Config.xml /v:13
若要使用 Config.xml
文件和默认迁移 .xml 文件创建加密存储,请使用:
ScanState.exe \\server\share\migration\mystore /i:MigApp.xml /i:MigDocs.xml /o /config:Config.xml /v:13 /encrypt /key:"mykey"
存储选项
Command-Line 选项 | 描述 |
---|---|
StorePath | 指示保存文件和设置的文件夹。
StorePath 不能为 C:\ 。 除非使用 /genconfig 选项,否则必须在命令中ScanState.exe 指定 StorePath 选项。 无法指定多个 StorePath 位置。 |
/应用程序 | 扫描映像中的应用,并包括它们及其关联的注册表设置。 |
/ppkg [<FileName>] | 导出到特定文件位置。 |
/o | 需要覆盖迁移存储或 Config.xml 文件中的任何现有数据。 如果未指定,则如果迁移存储已包含数据, ScanState.exe 则命令将失败。 此选项不能在命令行上使用多次。 |
/vsc | 此选项使卷影复制服务能够迁移锁定或正在使用的文件。 此命令行选项消除了 ErrorControl> 部分通常遇到的<大多数文件锁定错误。 此选项仅与 ScanState 可执行文件一起使用,不能与 /hardlink 选项结合使用。 |
/hardlink | 启用在指定位置创建硬链接迁移存储。
/nocompress 必须使用 选项指定/hardlink 选项。 |
/encrypt [{/key:<KeyString> | /keyfile:<file>]} | 使用指定的密钥加密存储区。 默认情况下,加密处于禁用状态。 使用此选项时,需要通过以下方式之一指定加密密钥:
建议 KeyString 长度至少为 8 个字符,但不能超过 256 个字符。 /key 和 /keyfile 选项不能在同一命令行上使用。
/encrypt 和 /nocompress 选项不能在同一命令行上使用。
重要提示 使用 /key 或 keyfile 选项时请谨慎。 例如,有权访问使用这些选项运行命令的 ScanState.exe 脚本的任何人都有权访问加密密钥。以下示例显示了 ScanState.exe 命令和 /key 选项:ScanState.exe /i:MigDocs.xml /i:MigApp.xml \server\share\migration\mystore /encrypt /key:mykey |
/encrypt:<EncryptionStrength> | 选项 /encrypt 接受命令行参数,用于定义用于加密迁移存储的加密强度。 有关支持的加密算法的详细信息,请参阅 迁移存储加密。 |
/nocompress | 在 StorePath\USMT 中禁用数据压缩并将文件保存到名为“File”的隐藏文件夹中。 默认情况下启用压缩。 将 /nocompress 选项与 选项组合将 /hardlink 生成硬链接迁移存储。 未压缩的存储可用于查看 USMT 存储的内容、解决问题或针对文件运行防病毒实用工具。 此选项应仅在测试环境中使用。 Microsoft建议在生产迁移期间使用压缩存储,除非将 选项与 选项组合在一 /nocompress 起 /hardlink 。/nocompress 和 /encrypt 选项不能在命令行上的一个语句中一起使用。 但是,如果迁移了未压缩的存储区,该命令会将 LoadState.exe 每个文件直接从存储区迁移到目标计算机上的正确位置,而不使用临时位置。例如: ScanState.exe /i:MigDocs.xml /i:MigApp.xml \server\share\migration\mystore /nocompress |
在脱机 Windows 系统上运行 ScanState 命令
命令 ScanState.exe
可以在 Windows 预安装环境中运行, (WinPE) 。 此外,USMT 支持从 Windows.old 目录中包含的以前安装的 Windows 进行迁移。 在 WinPE 中运行命令时ScanState.exe
,脱机目录可以是 Windows 目录;在 Windows 中运行命令时ScanState.exe
,脱机目录可以是 Windows.old 目录。
在脱机 Windows 映像上运行 ScanState.exe
命令有几个好处,包括:
提高了性能。
由于 WinPE 是精简操作系统,因此正在运行的服务较少。 在此环境中,命令
ScanState.exe
具有对本地硬件资源的更多访问权限,使 ScanState 能够更快地执行迁移操作。简化了端到端部署过程。
通过从 Windows.old 迁移数据,可以在安装新操作系统后执行迁移过程,从而简化端到端部署过程。
提高了迁移的成功率。
迁移成功率会提高,因为:
- 脱机时不会锁定文件进行编辑。
- WinPE 提供对脱机 Windows 文件系统中的文件的管理员访问权限,无需管理员级别访问联机系统。
能够从未启动的计算机恢复 。
可以从未启动的计算机恢复和迁移数据。
脱机迁移选项
Command-Line 选项 | 定义 |
---|---|
/offline:“Offline.xml 文件的路径” | 此选项用于定义脱机 .xml 文件的路径,该文件可能指定其他脱机迁移选项。 例如,脱机 Windows 目录或迁移所需的任何域或文件夹重定向。 |
/offlinewindir:“Windows 目录的路径” | 此选项指定命令从中收集用户状态的脱机 Windows 目录 ScanState.exe 。 在 Windows 中运行命令时ScanState.exe ,脱机目录可以是 Windows.old;在 WinPE 中运行命令时,ScanState.exe 脱机目录可以是 Windows 目录。 |
/offlinewinold:“Windows.old directory” | 此命令行选项启用脱机迁移模式,并从指定的位置开始迁移。 此选项仅用于 从 Windows.old 目录进行迁移的 Windows.old 迁移方案。 |
迁移规则选项
USMT 提供以下选项来指定要迁移的文件。
Command-Line 选项 | 描述 |
---|---|
/i:[Path]FileName |
(包括) 指定 .xml 文件,其中包含定义要迁移的用户、应用程序或系统状态的规则。 可以多次指定此选项,以包括所有 .xml 文件 ( MigApp.xml 、 MigDocs.xml 以及) 创建的任何自定义 .xml 文件。
路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则 FileName 必须位于当前目录中。 有关要指定哪些文件的详细信息,请参阅 常见问题解答 一文的“XML 文件”部分。 |
/genconfig:[Path]FileName | (生成 Config.xml) 生成可选 Config.xml 文件,但不创建迁移存储。 若要确保此文件包含需要迁移的所有内容,请在包含以下各项的源计算机上创建此文件:
创建此文件后,可以使用 /config 选项将其与 命令一起使用 ScanState.exe 。可以使用此选项指定的唯一选项是 /i 、 /v 和 /l 选项。 无法指定 StorePath,因为 /genconfig 选项不会创建存储区。
路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则会在当前目录中创建 FileName 。示例:
|
/config:[Path]FileName | 指定 Config.xml 命令应用于创建存储区的文件 ScanState.exe 。 此选项不能在命令行上使用多次。
路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则 FileName 必须位于当前目录中。以下示例使用 Config.xml 文件 、 和 MigApp.xml 文件MigDocs.xml 创建存储:ScanState.exe \server\share\migration\mystore /config:Config.xml /i:MigDocs.xml /i:MigApp.xml /v:13 /l:ScanState.log 以下示例使用 Config.xml 、 MigDocs.xml 和 文件将文件和 MigApp.xml 设置迁移到目标计算机:LoadState.exe \server\share\migration\mystore /config:Config.xml /i:MigDocs.xml /i:MigApp.xml /v:13 /l:LoadState.log |
/auto:脚本文件的路径 | 此选项允许指定默认 .xml 文件的位置。 如果未指定路径,则 USMT 引用 USMT 二进制文件所在的目录。 选项 /auto 的效果与使用以下选项的效果相同: /i: MigDocs.xml /i:MigApp.xml /v:5 。 |
/genmigxml:文件路径 | 此选项指定 ScanState.exe 命令应使用文档查找器创建和导出 .xml 文件,该文件定义如何迁移运行命令的计算机上的 ScanState.exe 所有文件。 |
/localonly | 仅迁移存储在本地计算机上的文件,而不考虑命令行中指定的 .xml 文件中的规则。 当源计算机上存在映射的网络驱动器时,应使用此选项从源计算机上的可移动驱动器中排除数据。 可移动驱动器的示例包括 U 盘 (UFD) 和某些外部硬盘驱动器。
/localonly 如果未指定 选项,则该命令会将ScanState.exe 文件从这些可移动驱动器或网络驱动器复制到存储中。/localonly 排除操作系统不被视为固定驱动器的任何内容。 在某些情况下,大型外部硬盘驱动器被视为固定驱动器。 可以使用自定义 .xml 文件从迁移中显式排除这些驱动器。 有关如何排除特定驱动器上的所有文件的详细信息,请参阅 排除文件和设置。/localonly 命令行选项包括或排除以下存储位置中标识的迁移中的数据:
|
监视选项
USMT 提供了多个选项,可用于分析迁移过程中出现的问题。
注意
默认情况下会创建 ScanState 日志,但日志的名称和位置可以使用 /l 选项指定。
Command-Line 选项 | 描述 |
---|---|
/listfiles:<FileName> |
/listfiles 命令行选项可与 命令一起使用,ScanState.exe 以生成一个文本文件,其中列出了迁移中包含的所有文件。 |
/l:[Path]FileName | 指定 ScanState 日志的位置和名称。 日志文件不能存储在 StorePath 中。 路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则会在当前目录中创建日志。 选项 /v 可用于调整输出量。ScanState.exe 如果命令是从共享网络资源运行的,/l 则必须指定 选项,否则 USMT 将失败并出现以下错误:USMT 无法创建日志文件 () 若要解决此问题,请确保在从共享网络资源运行时 ScanState.exe 指定 /l 选项。 |
/v:<VerbosityLevel> |
(详细) 在 ScanState 日志文件中启用详细输出。 默认值为 0。 VerbosityLevel 可以设置为以下级别之一:
例如: ScanState.exe \server\share\migration\mystore /v:13 /i:MigDocs.xml /i:MigApp.xml |
/progress:[Path]FileName | 创建可选的进度日志。 日志文件不能存储在 StorePath 中。
路径 可以是相对路径或完整路径。 如果未指定 Path 变量,则会在当前目录中创建 FileName 。 例如: ScanState.exe /i:MigApp.xml /i:MigDocs.xml \server\share\migration\mystore /progress:Progress.log /l:scanlog.log |
/c | 指定此选项后,即使发生非严重错误, ScanState.exe 命令也会继续运行。 导致错误的任何文件或设置都会记录在进度日志中。 例如,如果存储区中存在不适合的大型文件,该命令会 ScanState.exe 记录错误并继续迁移。 此外,如果应用程序打开或正在使用某个文件,则 USMT 可能无法迁移该文件并记录错误。
/c 如果没有 选项,命令将在ScanState.exe 第一个错误时退出。文件中<的 Config.xml ErrorControl> 部分可用于指定可以安全地忽略哪些文件或注册表读/写错误,以及哪些错误可能导致迁移失败。 文件中的 Config.xml 这一优势使 /c 命令行选项能够安全地跳过环境中所有输入/输出 (I/O) 错误。 此外,/genconfig 选项现在生成一个示例 <ErrorControl> 节,该节通过在文件中指定错误消息和所需行为 Config.xml 来启用。 |
/r:<TimesToRetry> |
(重试) 指定在将用户状态保存到服务器时发生错误时重试的次数。 默认值为三次。 此选项在网络连接不可靠的环境中很有用。 存储用户状态时, /r 选项无法恢复因网络硬件故障(例如网络电缆故障或断开连接)或虚拟专用网络 (VPN) 连接失败而丢失的数据。 重试选项适用于连接令人满意但通信延迟存在问题的大型繁忙网络。 |
/w:<SecondsBeforeRetry> |
(等待) 指定重试网络文件操作之前等待的时间(以秒为单位)。 默认值为 1 秒。 |
/p:<pathToFile> |
ScanState.exe 当命令运行时,它会在指定的路径中创建 .xml 文件。 此 .xml 文件包括改进的迁移存储的空间估计。 以下示例演示如何创建此 .xml 文件:ScanState.exe C:\MigrationLocation [additional parameters] /p:"C:\MigrationStoreSize.xml" 有关详细信息,请参阅 估计迁移存储区大小。 若要保留需要 USMT 先前行为的现有应用程序或脚本的功能, /p 可以在 USMT 中使用 选项,而无需指定“pathtoafile”。 如果仅 /p 指定 了 选项,则存储空间估算的创建方式与 USMT 3.x 版本相同。 |
/? 或 /help | 在命令行中显示“帮助”。 |
用户选项
默认情况下,将迁移所有用户。 指定要包含和排除的用户的唯一方法是使用以下选项。 不能在迁移 .xml 文件或使用 Config.xml
文件排除用户。 有关详细信息,请参阅 标识用户 和 迁移用户帐户。
Command-Line 选项 | 描述 |
---|---|
/都 | 迁移计算机上的所有用户。 USMT 迁移计算机上的所有用户帐户,除非使用 或 /uel 选项专门排除了/ue 某个帐户。 因此,不需要在命令行上指定此选项。 但是,如果指定了 /all 选项, /ui 则不能也指定 、 /ue 或 /uel 选项。 |
/ui:<DomainName>\<UserName> 或 /ui:<ComputerName>\<LocalUserName> |
(用户包括) 迁移指定的用户。 默认情况下,迁移中包括所有用户。 因此,仅当与 或 /uel 选项一起使用时,/ue 此选项才有用。 可以指定多个 /ui 选项, /ui 但选项不能与 选项一 /all 起使用。
DomainName 和 UserName 可以包含星号 (* ) 通配符。 指定包含空格的用户名时,需要用引号将其括起来, (" ) 。
注意 如果指定 /ui 了包含选项的用户,并且还指定使用 或 /uel 选项排除/ue 该用户,则迁移中将包含该用户。例如:
有关更多示例,请参阅此表中 和 /ue /ui 选项的说明。 |
/uel:<NumberOfDays> 或 /uel:<YYYY/MM/DD> 或 /uel:0 |
(基于上次登录) 排除用户 根据源计算机上的Ntuser.dat文件的 上次修改 日期,迁移在指定时间段内登录到源计算机的用户。 选项 /uel 充当包含规则。 例如, /uel:30 选项迁移自命令运行之日起 ScanState.exe 的过去 30 天内登录的用户或其帐户被修改的用户。可以指定天数或日期。 此选项不能与 选项一起使用 /all 。 USMT 从本地计算机检索最后一次登录信息,因此运行此选项时,无需将计算机连接到网络。 此外,如果域用户登录到另一台计算机,USMT 不会考虑该登录实例。
注意 选项 /uel 在脱机迁移中无效。
例如: ScanState.exe /i:MigApp.xml /i:MigDocs.xml \\server\share\migration\mystore /uel:0 |
/ue:<DomainName>\<UserName> -或- /ue:<ComputerName>\<LocalUserName> |
(用户排除) 从迁移中排除指定的用户。 可以指定多个 /ue 选项。 此选项不能与 选项一起使用 /all 。
<DomainName> 和 <UserName> 可以包含星号 () * 通配符。 指定包含空格的用户名时,需要用引号将其括起来, (" ) 。例如: ScanState.exe /i:MigDocs.xml /i:MigApp.xml \\server\share\migration\mystore /ue:contoso\user1 |
如何使用 /ui 和 /ue
以下示例适用于 /ui
和 /ue
选项。 选项 /ue
可以替换为 /ui
包含(而不是排除)指定用户的选项。
行为 | 命令 |
---|---|
排除 Fabrikam 域中名为 User One 的用户。 | /ue:"fabrikam\user one" |
排除 Fabrikam 域中名为 User1 的用户。 | /ue:fabrikam\user1 |
排除名为 User1 的本地用户。 | /ue:%computername%\user1 |
排除所有域用户。 | /ue:Domain\* |
排除所有本地用户。 | /ue:%computername%\* |
排除名为 User1、User2 等的所有域中的用户。 | /ue:*\user* |
一起使用选项
和 /uel
/ue
/ui
选项可以一起使用,以便仅迁移需要迁移的用户。
选项 /ui
优先于 /ue
和 /uel
选项。 如果指定/ui
了包含选项的用户,并且还指定使用 或 /uel
选项排除/ue
该用户,则迁移中将包含该用户。 例如,如果 /ui:contoso\* /ue:contoso\user1
指定 了 ,则 迁移 User1 ,因为 /ui
选项优先于 /ue
选项。
选项 /uel
优先于 /ue
选项。 如果用户在 选项设置 /uel
的指定时间段内登录,则即使使用 /ue
选项排除了该用户的配置文件,也会迁移该用户的配置文件。 例如,如果 /ue:fixed\user1 /uel:14
指定 了 ,则如果用户在过去 14 天内登录到计算机,则会迁移 User1。
行为 | 命令 |
---|---|
仅包括 Fabrikam 域中的 User2,并排除所有其他用户。 | /ue:*\* /ui:fabrikam\user2 |
仅包括名为 User1 的本地用户,并排除所有其他用户。 | /ue:*\* /ui:user1 |
仅包括 Contoso 中的域用户,Contoso\User1 除外。 | 不能使用单个命令完成此行为。 相反,若要迁移这组用户,请指定以下命令:
|
仅包括本地 (非域) 用户。 | /ue:*\* /ui:%computername%\* |
加密文件选项
以下选项可用于迁移加密文件。 在所有情况下,默认情况下,如果未指定 选项,否则如果找到加密文件, /efs
则 USMT 将失败。 若要迁移加密文件,必须更改默认行为。
有关详细信息,请参阅 迁移 EFS 文件和证书。
注意
EFS 证书在迁移过程中会自动迁移。 因此, /efs:copyraw
应使用 ScanState.exe
命令指定选项,以迁移加密的文件。
注意
迁移加密文件时请谨慎。 如果在迁移加密文件时未迁移证书,最终用户将无法在迁移后访问该文件。
Command-Line 选项 | 说明 |
---|---|
/efs:hardlink | 创建指向 EFS 文件的硬链接,而不是复制它。 仅与 和 /nocompress 选项一起使用/hardlink 。 |
/efs:abort |
ScanState.exe 如果在源计算机上找到加密文件系统 (EFS) 文件,则会导致命令失败并显示错误代码。 默认情况下已启用。 |
/efs:skip |
ScanState.exe 使命令忽略 EFS 文件。 |
/efs:decryptcopy |
ScanState.exe 使命令在将文件保存到迁移存储区之前解密文件(如果可能),如果文件无法解密,则命令会失败。
ScanState.exe 如果命令成功,则文件在迁移存储中未加密,运行命令后LoadState.exe ,该文件将复制到目标计算机。 |
/efs:copyraw |
ScanState.exe 使命令以加密格式复制文件。 在迁移 EFS 证书之前,目标计算机上无法访问这些文件。 EFS 证书会自动迁移;但是,默认情况下,如果未指定 选项,否则如果未找到加密文件, /efs 则 USMT 将失败。 因此, /efs:copyraw 应使用 ScanState.exe 命令指定选项以迁移加密文件。
LoadState.exe 运行命令时,会自动迁移加密文件和 EFS 证书。例如: ScanState.exe /i:MigDocs.xml /i:MigApp.xml \server\share\migration\mystore /efs:copyraw
重要提示 如果父文件夹已加密,则必须对所有文件进行加密。 如果删除了加密文件夹内文件的加密属性,则会在迁移过程中使用用于运行 LoadState 工具的帐户的凭据对该文件进行加密。 有关详细信息,请参阅 迁移 EFS 文件和证书。 |
不兼容的命令行选项
下表指示哪些命令行选项与 ScanState.exe
命令不兼容。 如果特定组合的表条目具有 ✅,则这些选项是兼容的,并且可以一起使用。 符号 ❌ 表示选项不兼容。 例如, /nocompress
选项不能与 选项一起使用 /encrypt
。
Command-Line 选项 | /keyfile | /nocompress | /genconfig | /都 |
---|---|---|---|---|
/我 | ✅ | ✅ | ✅ | ✅ |
/o | ✅ | ✅ | ✅ | ✅ |
/v | ✅ | ✅ | ✅ | ✅ |
/nocompress | ✅ | ✅ | ✅ | 不适用 |
/localonly | ✅ | ✅ | ❌ | ✅ |
/钥匙 | ❌ | ✅ | ❌ | ✅ |
/加密 | 必填* | ❌ | ❌ | ✅ |
/keyfile | 不适用 | ✅ | ❌ | ✅ |
/l | ✅ | ✅ | ✅ | ✅ |
/listfiles | ✅ | ✅ | ❌ | ✅ |
/进展 | ✅ | ✅ | ❌ | ✅ |
/r | ✅ | ✅ | ❌ | ✅ |
/w | ✅ | ✅ | ❌ | ✅ |
/c | ✅ | ✅ | ❌ | ✅ |
/p | ✅ | ✅ | ❌ | 不适用 |
/都 | ✅ | ✅ | ❌ | ✅ |
/用户界面 | ✅ | ✅ | ❌ | ❌ |
/ue | ✅ | ✅ | ❌ | ❌ |
/uel | ✅ | ✅ | ❌ | ❌ |
/efs:<option> | ✅ | ✅ | ❌ | ✅ |
/genconfig | ✅ | ✅ | 不适用 | ✅ |
/config | ✅ | ✅ | ❌ | ✅ |
<StorePath> | ✅ | ✅ | ❌ | ✅ |
注意
/key
必须使用 选项指定 /encrypt
或 /keyfile
选项。