自定义 USMT XML 文件

本主题内容

概述

迁移 .xml 文件

自定义 .xml 文件

Config.xml 文件

示例

其他信息

概述

如果你要 ScanStateLoadState 工具使用任何迁移 .xml 文件,请在命令行使用 /i 选项指定这些文件。因为 ScanStateLoadState 工具需要 .xml 文件控制迁移,所以应为 ScanStateLoadState 命令指定相同的 .xml 文件集。但是,除非你要排除一些迁移到存储的文件和设置,否则不必使用 /config 选项指定 Config.xml 文件。例如,你可能要将“我的文档”文件夹迁移到存储而不是目标计算机。要执行该操作,请修改 Config.xml 文件,并使用 LoadState 命令指定已更新的文件。随后,LoadState 命令将仅迁移你要迁移的文件和设置。

如果 LoadState 命令中遗漏了一个 .xml 文件,则将迁移已随着这个丢失的 .xml 文件一起迁移的所有存储中数据。但是,将不会应用使用 ScanState 命令指定的迁移规则。例如,如果你遗漏了一个 .xml 文件,而它包含了重新路由规则(例如:MigsysHelperFunction.RelativeMove("c:\data", "%CSIDL_PERSONAL%")),则 USMT 将不会重新路由这些文件,它们将迁移到 C:\data。

要修改迁移,请执行下列一个或多个操作:

  • **修改迁移 .xml 文件。**如果你要排除组件的一部分(例如,你要迁移 C:\ 但要排除 .mp3 文件),或者要将数据转移到目标计算机上的一个新位置,那么请修改 .xml 文件。要修改这些文件,你必须熟悉迁移规则和语法。如果你要 ScanStateLoadState 使用这些文件,则应在输入每条命令时在命令行指定它们。

  • **创建自定义 .xml 文件。**你还可以创建自定义 .xml 文件为另一个应用程序迁移设置,或者修改迁移行为以适应你的需要。如 ScanStateLoadState 要使用该文件,请在两个命令行指定它们。

  • **创建和修改 Config.xml 文件。**如果你要从迁移中排除整个组件,则请执行该操作。例如,你可以使用 Config.xml 文件排除整个“我的文档”文件夹,或者为一个应用程序排除这些设置。使用 Config.xml 文件排除组件比修改迁移 .xml 文件更容易,因为你不必熟悉迁移规则和语法。此外,使用 Config.xml 文件是从迁移中排除操作系统设置的唯一方法。

有关排除数据的详细信息,请参阅排除文件和设置主题。

迁移 .xml 文件

此部分描述了随 USMT 包含的迁移 .xml 文件。每个文件都包含迁移规则,这些规则控制迁移的具体组件以及迁往目标计算机的位置。

note备注
对于所有这些文件,都可以在其中使用星号 (*) 通配符。但是,不能将问号 (?) 作为通配符使用。

  • **MigApp.xml 文件。**使用 ScanStateLoadState 两个命令指定该文件以迁移应用程序设置。

  • **MigDocs.xml 文件。**使用 ScanStateLoadState 两款工具迁移由 MigXmlHelper.GenerateDocPatterns 助手功能找到的所有用户文件夹和文件。 助手功能会找到存于任何驱动器根目录和“用户”目录下的用户数据。 但是,它不能找到和迁移任何应用程序数据、程序文件或 Windows 目录下的任何文件。你可以修改 MigDocs.xml 文件。

  • **MigUser.xml 文件。**使用 ScanStateLoadState 两个命令迁移用户文件夹、文件和文件类型。你可以修改 MigUser.xml 文件。该文件不包含迁移特定用户帐户的规则。要指定要迁移的具体用户帐户,唯一方法是在命令行上使用 ScanStateLoadState 用户选项。

    note备注
    不能将 MigUser.xml 和 MigDocs.xml 文件一起使用。有关详细信息,请参阅标识文件类型、文件和文件夹USMT 最佳实践主题。

自定义 .xml 文件

你可以创建自定义 .xml 文件,以自定义适合你独特需要的迁移。例如,你可能要创建自定义文件迁移一个特定业务的应用程序或修改默认迁移行为。如果你要让 ScanStateLoadState 使用该文件,则应通过两个命令指定它。有关详细信息,请参阅自定义 USMT XML 文件主题。

Config.xml 文件

在你使用 /genconfig 选项(利用 ScanState 命令)创建文件时,可选择创建 Config.xml 文件。如果你要将特定组件从迁移中排除,则你应该创建并修改该文件。此外,如果你从迁移中排除任何操作系统设置,则你必须创建并修改该文件。Config.xml 文件格式不同于迁移 .xml 文件格式,因为它不包含任何迁移规则。它仅包含可以迁移的操作系统组件、应用程序和用户文档列表。有关详细信息,请参阅 Config.xml 文件主题。因此,使用该文件排除组件比修改迁移 .xml 文件更容易,因为你不必熟悉迁移规则和语法。但是,你可以在 Config.xml 文件中使用通配符。

如果你要包含所有默认组件,则你不必创建 Config.xml 文件。或者,如果你认同 MigApp.xml、MigDocs.xml 和 MigUser.xml 文件中定义的默认迁移行为,并且你要排除某些组件,则你可以创建并修改 Config.xml 文件,同时将其他 .xml 文件保持它们的原始状态。

当你运行 ScanState 命令(使用 /genconfig 选项)时,ScanState 会读取使用 /i 选项指定的其他 .xml 文件,以创建可从计算机中迁移的自定义组件列表。该文件仅包含两个 .xml 文件中的操作系统组件、应用程序和用户文档部分,你运行 ScanState 命令(使用 /genconfig 选项)可将它们安装到计算机。因此,你应该在包含将传送至目标计算机的所有组件、应用程序和设置的计算机上创建该文件。这将确保该文件包含可以迁移的所有组件。这些组件按几个部分进行整理:<Applications>、<WindowsComponents> 和 <Documents>。要选择不迁移一个组件,请将它的条目更改为 migrate="no"

创建该文件后,你需要指定它,指定它只能通过 ScanState 命令并对其使用 /Config 选项,这样来影响迁移。但是,如果你要排除你迁移到存储的其他数据,则应修改 Config.xml 文件,并通过 LoadState 命令指定更新文件。例如,如果你要在存储中创建“我的文档”文件夹,但不想将其迁移到目标计算机,则你可以修改 Config.xml 文件以表明 migrate="no",然后运行 LoadState 命令,这样就不会迁移该文件。有关排除数据时采用的优先权的详细信息,请参阅排除文件和设置主题。

此外,请注意 Config.xml 文件的以下功能:

  • 如果通过指定 migrate="no",在 Config.xml 文件中将父组件从迁移中移除,则其所有子组件也会从迁移中移除,即使该子组件设置为 migrate="yes" 也是如此。

  • 如果你错误地为同一组件设置了两行代码,其中一行指定 migrate="no" 而另一行指定为 migrate="yes",则将迁移该组件。

  • 在 USMT 中,存在多种迁移策略,可在 Config.xml 文件中配置它们。例如,可以配置其他 <ErrorControl><ProfileControl><HardLinkStoreControl> 选项。有关详细信息,请参阅 Config.xml 文件主题。

note备注
若要从 Config.xml 文件中排除某个组件,请将 migrate 值设置为 "no"。从 Config.xml 文件中删除组件的 XML 标签并不会将该组件从你的迁移中排除。

示例

  • 下述命令将在当前目录创建 Config.xml 文件,但它不会创建存储。

    scanstate /i:migapp.xml /i:migdocs.xml /genconfig:config.xml /v:5

  • 下述命令将会利用 Config.xml 文件和默认的迁移 .xml 文件创建加密的存储。

    scanstate \\server\share\migration\mystore /i:migapp.xml /i:migdocs.xml /o /config:config.xml /v:5 /encrypt /key:"mykey"

  • 下述命令将解密该存储并迁移这些文件和设置。

    loadstate \\server\share\migration\mystore /i:migapp.xml /i:migdocs.xml /v:5 /decrypt /key:"mykey"

其他信息

另请参阅

其他资源

用户状态迁移工具 (USMT) 命令行语法
USMT 资源