了解迁移 XML 文件

可以使用 XML 文件修改基本用户状态迁移工具 (USMT) 迁移的行为。 这些文件提供有关 USMT 工具在何处以及如何收集和应用文件和设置的说明。 USMT 包括三个可用于自定义基本迁移的 XML 文件: MigDocs.xmlMigUser.xml 文件(修改在源计算机上发现文件的方式)和 MigApps.xml 文件(迁移支持的应用程序设置所必需的)。 可以创建自定义 XML 文件和 Config.xml 文件并对其进行编辑,以进一步自定义迁移。

本文概述了默认和自定义迁移 XML 文件,并包含创建和编辑文件的自定义版本的 MigDocs.xml 指南。 该文件 MigDocs.xml 使用 USMT 中提供的新 GenerateDocPatterns 函数在源计算机上自动查找用户文档。

Config.xml 文件概述

该文件Config.xml是由 ScanState 工具的 选项创建的/genconfig配置文件。 它可用于修改 USMT 迁移的操作系统组件。 该文件 Config.xml 可以与其他 XML 文件一起使用,如以下示例所示:

ScanState.exe /i:migapps.xml /i:MigDocs.xml /genconfig:c:\myFolder\Config.xml

以这种方式使用时, Config.xml 文件会严格控制迁移的各个方面,包括用户配置文件、数据和设置,而无需修改或创建其他 XML 文件。 有关文件的详细信息 Config.xml ,请参阅 自定义 USMT XML 文件和Config.xml 文件

注意

修改文件中的 XML 元素 Config.xml 时,将元素上的 migrate 属性设置为 no ,而不是从文件中删除元素。 如果元素被删除,而不是设置 属性,则其他 XML 文件中的规则仍然可以迁移组件。

MigApp.xml 文件概述

MigApp.xml USMT 一起安装的文件包括迁移 USMT 迁移内容?中列出的应用程序设置的说明。 若要迁移应用程序设置, MigApp.xml 必须使用 选项使用 ScanStateLoadState 工具 /i 时包含该文件。 MigDocs.xmlMigUser.xml 文件不会迁移应用程序设置。 可以创建自定义 XML 文件以包含其他应用程序。 有关详细信息,请参阅 自定义 USMT XML 文件

重要提示

该文件 MigApps.xml 仅检测并迁移链接到 Office Outlook Microsoft .pst 文件。 有关迁移未链接到 Outlook 的 .pst 文件的详细信息,请参阅 自定义版本的 XML 文件的示例迁移规则

MigDocs.xml 文件概述

该文件 MigDocs.xml 使用新的 GenerateDocPatterns 帮助程序函数创建指令,以便 USMT 根据文件的位置从源计算机迁移文件。 该文件 MigDocs.xml 可与 ScanStateLoadState 工具一起使用,以执行比不使用 XML 指令的 USMT 更具针对性的迁移。

默认 MigDocs.xml 文件迁移以下数据:

  • 驱动器根上除 、%PROGRAMFILES%%PROGRAMDATA%%USERS%之外%WINDIR%的所有文件。

  • 所有固定驱动器的根目录中的所有文件夹。 例如:c:\data_mail\*[*]

  • “配置文件”文件夹根目录中的所有文件(系统配置文件中的文件除外)。 例如:c:\users\name[mail.pst]

  • “配置文件”文件夹根目录中的所有文件夹(系统配置文件文件夹除外)。 例如:c:\users\name\new folder\*[*]

  • 标准共享文件夹:

    • CSIDL_COMMON_DESKTOPDIRECTORY

    • CSIDL_COMMON_FAVORITES

    • CSIDL_COMMON_DOCUMENTS

    • CSIDL_COMMON_MUSIC

    • CSIDL_COMMON_PICTURES

    • CSIDL_COMMON_VIDEO

    • FOLDERID_PublicDownloads

  • 每个用户的标准用户配置文件文件夹:

    • CSIDL_MYDOCUMENTS

    • CSIDL_MYPICTURES

    • FOLDERID_OriginalImages

    • CSIDL_MYMUSIC

    • CSIDL_MYVIDEO

    • CSIDL_FAVORITES

    • CSIDL_DESKTOP

    • CSIDL_QUICKLAUNCH

    • FOLDERID_Contacts

    • FOLDERID_Libraries

    • FOLDERID_Downloads

    • FOLDERID_SavedGames

    • FOLDERID_RecordedTV

默认 MigDocs.xml 文件不会迁移以下数据:

  • 使用 隐藏 属性和 系统 属性标记的文件。

  • 可移动驱动器上的文件和文件夹。

  • 来自 %WINDIR%、%PROGRAMDATA% 和 %PROGRAMFILES% 文件夹的数据。

  • 包含已安装应用程序的文件夹。

选项 /genmigxml 可与 ScanState 工具一起使用,以查看和修改迁移的文件。

MigUser.xml 文件概述

该文件 MigUser.xml 包含有关 USMT 基于文件扩展名迁移用户文件的说明。 该文件 MigUser.xml 可与 ScanStateLoadState 工具一起使用,以执行比不使用 XML 指令的 USMT 更具针对性的迁移。 该文件 MigUser.xml 从标准用户配置文件文件夹中收集所有文件,以及计算机上具有指定文件扩展名的任何文件。

默认 MigUser.xml 文件迁移以下数据:

  • 标准用户配置文件文件夹中的所有文件,其描述如下:

    • CSIDL_MYVIDEO

    • CSIDL_MYMUSIC

    • CSIDL_DESKTOP

    • CSIDL_STARTMENU

    • CSIDL_PERSONAL

    • CSIDL_MYPICTURES

    • CSIDL_FAVORITES

    • CSIDL_QUICK LAUNCH

  • 具有以下扩展名的文件:

    .accdb, .ch3, .csv, .dif, .doc*, .dot*, .dqy, .iqy, .mcw, .mdb*, .mpp, .one*, .oqy, .or6, .pot*, .ppa, .pps*, .ppt*, .pre, .pst, .pub, .qdf, .qel, .qph, .qsd, .rqy, .rtf, .scd, .sh3, .slk, .txt, .vl*, .vsd, .wk*, .wpd, .wps, .wq1, .wri, .xl*, .xla, .xlb, .xls*

    注意

    星号 (*) 代表零个或多个字符。

    注意

    默认情况下,Microsoft Office 应用程序可以使用的 OpenDocument 扩展 *.odt (、 *.odp*.ods) 不会迁移。

默认 MigUser.xml 文件不会迁移以下数据:

  • 使用 HiddenSystem 属性标记的文件。

  • 可移动驱动器上的文件和文件夹。

  • %WINDIR%%PROGRAMFILES%文件夹中%PROGRAMDATA%的数据。

  • 用户配置文件外部文件夹中文件的 ACLS。

MigUser.xml可以复制文件,然后修改副本,以包括或排除标准用户配置文件文件夹和文件扩展名。 如果已知需要从源计算机迁移的文件的所有扩展名,请使用 该文件 MigUser.xml 移动所有相关数据,而不考虑文件的位置。 但是,在需要迁移到 MigUser.xml 文件的所有文件扩展名中添加可能会导致迁移包含比预期更多的文件。 例如,如果迁移了所有 .jpg 文件,则它还可以从源计算机上安装的旧应用程序中迁移图像文件,例如缩略图和徽标。

注意

文件内规则 MigUser.xml 中包含的每个文件扩展名会增加 ScanState 工具收集迁移文件所需的时间。 如果迁移的文件类型超过 300 种,迁移体验可能会很慢。 有关组织数据迁移的其他方法的详细信息,请参阅本文的 “使用多个 XML 文件” 部分。

使用多个 XML 文件

多个 XML 文件可与 ScanStateLoadState 工具一起使用。 USMT 随附或生成的每个默认 XML 文件都针对迁移的特定组件进行配置。 自定义 XML 文件还可用于用更多迁移规则来补充这些默认文件。

XML 迁移文件 修改以下组件:
Config.xml 文件 桌面壁纸和背景主题等操作系统组件。
Config.xml还可以扩展为包含某些应用程序和文档设置,方法是使用其他默认 XML 文件生成Config.xml文件。 有关详细信息,请参阅 自定义 USMT XML 文件和Config.xml 文件
MigApps.xml 文件 应用程序设置。
MigUser.xmlMigDocs.xml 文件 用户文件和配置文件设置。
自定义 XML 文件 应用程序设置、用户配置文件设置或用户文件,超出了其他 XML 文件中包含的规则。

例如,所有 XML 迁移文件类型都可用于单个迁移,如以下示例所示:

ScanState.exe <store> /config:c:\myFolder\Config.xml /i:migapps.xml /i:MigDocs.xml /i:CustomRules.xml

用于迁移用户文件的 XML 规则

重要提示

MigUser.xmlMigDocs.xml 文件不应在同一命令中一起使用。 同时使用这两个 XML 文件可能会导致某些已迁移文件重复。 当每个 XML 文件中提供了冲突的目标位置指令时,可能会复制某些已迁移的文件。 目标文件在迁移过程中存储一次,但每个 XML 文件将该文件应用于目标计算机上的不同位置。

如果数据集未知,或者许多文件存储在标准用户配置文件文件夹之外, MigDocs.xml 则 比 MigUser.xml 文件更好的选择,因为 MigDocs.xml 该文件收集的数据范围更广。 文件 MigDocs.xml 根据位置迁移数据文件夹。 该文件 MigUser.xml 仅迁移具有指定文件扩展名的文件。

若要更好地控制迁移,请创建自定义 XML 文件。 有关创建自定义 XML 文件的详细信息,请参阅 创建和编辑自定义 XML 文件

创建和编辑自定义 XML 文件

/genmigxml命令行选项可用于确定迁移中包含哪些文件。 选项 /genmigxml 在指定位置创建文件。 然后,可以查看文件中的 XML 规则,并在必要时进行修改。

注意

如果重新安装 USMT,则会覆盖默认迁移 XML 文件,并且对这些文件所做的任何自定义都将丢失。 请考虑为自定义迁移规则创建单独的 XML 文件,并将其保存在安全的位置。

若要为源计算机生成 XML 迁移规则文件,请执行以下操作:

  1. 选择“启动>所有程序>附件

  2. 右键单击“ 命令提示符”,然后选择“ 运行方式”。

  3. 选择具有管理员权限的帐户,提供密码,然后选择“ 确定”。

  4. 在命令提示符下,输入:

    cd /d <USMTpath>
    ScanState.exe /genmigxml: <filepath.xml>
    

    其中:

    • <USMTpath> - 保存的 USMT 文件和工具的源计算机上的位置。
    • < >filepath.xml - 可以保存报表的文件的完整路径。

    例如,输入:

    cd /d c:\USMT
    ScanState.exe /genmigxml:"C:\Users\USMT Tester\Desktop\genMig.xml"
    

GenerateDocPatterns 函数

文件 MigDocs.xml 调用 GenerateDocPatterns 函数,该函数采用三个布尔值。 可以更改设置以修改文件生成用于迁移的 XML 规则的方式 MigDocs.xml

  • ScanProgramFiles:仅当在系统上下文中调用函数时, GenerateDocPatterns 此参数才有效。 此参数确定是否扫描 Program Files 目录以收集已知应用程序的已注册文件扩展名。

    默认值:False

    例如,当设置为 TRUE 时,函数会发现 并迁移 Microsoft Office 目录下的.doc文件,因为 .doc 是注册到 Microsoft Office 应用程序的文件扩展名。 函数 GenerateDocPatterns.doc 文件生成此包含模式:

    <pattern type="File">C:\Program Files\Microsoft Office[.doc]</pattern>

    如果包含的文件夹的子文件夹包含已安装的应用程序, ScanProgramFiles 则还会为子文件夹创建排除规则。 以递归方式扫描应用程序文件夹下的所有文件夹,以查找已注册的文件扩展名。

  • IncludePatterns:此参数确定是在 XML 中生成排除模式还是包含模式。 当此参数设置为 TRUE 时, GenerateDocPatterns 函数将生成 include 模式,并且必须在 元素下 <include> 添加该函数。 将此参数更改为 FALSE 将生成排除模式,并且必须在 元素下 <exclude> 添加函数。

    默认值:True

  • SystemDrive:此参数确定是为所有固定驱动器生成模式,还是仅为系统驱动器生成模式。 将此参数更改为 TRUE 会将所有模式限制为系统驱动器。

    默认值:False

用法:

MigXmlHelper.GenerateDocPatterns ("<ScanProgramFiles>", "<IncludePatterns>", "<SystemDrive>")

若要仅为系统驱动器创建包含数据模式,请执行以下操作:

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
     <objectSet>
        <script>MigXmlHelper.GenerateDocPatterns ("FALSE","TRUE","TRUE")</script>
     </objectSet>
</include>

若要创建包含规则以从 %PROGRAMFILES% 目录中收集已注册扩展的文件,请执行以下操作:

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
     <objectSet>
        <script>MigXmlHelper.GenerateDocPatterns ("TRUE","TRUE","FALSE")</script>
     </objectSet>
</include>

若要创建排除数据模式,请:

<exclude filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
     <objectSet>
        <script>MigXmlHelper.GenerateDocPatterns ("FALSE","FALSE","FALSE")</script>
     </objectSet>
</exclude>

了解系统和用户上下文

迁移 XML 文件包含两个<具有不同上下文设置的组件>元素:

  • 系统上下文适用于计算机上未存储在“用户配置文件”目录中的文件。
  • 用户上下文适用于特定用户的文件。

系统上下文

系统上下文包括“用户配置文件”目录外部的数据的规则。 例如,在文件的系统上下文中 MigDocs.xml 调用 时, GenerateDocPatterns 函数会为所有常见的 shell 文件夹、硬盘驱动器根目录中的文件以及位于硬盘驱动器根目录的文件夹创建模式。 包括以下文件夹:

  • CSIDL_COMMON_DESKTOPDIRECTORY

  • CSIDL_COMMON_FAVORITES

  • CSIDL_COMMON_DOCUMENTS

  • CSIDL_COMMON_MUSIC

  • CSIDL_COMMON_PICTURES

  • CSIDL_COMMON_VIDEO

  • FOLDERID_PublicDownloads

用户上下文

用户上下文包括“用户配置文件”目录中数据的规则。 在文件的用户上下文中 MigDocs.xml 调用时,函数 GenerateDocPatterns 为所有用户 shell 文件夹、位于配置文件根目录的文件以及位于配置文件根目录的文件夹创建模式。 包括以下文件夹:

  • CSIDL_MYDOCUMENTS

  • CSIDL_MYPICTURES

  • FOLDERID_OriginalImages

  • CSIDL_MYMUSIC

  • CSIDL_MYVIDEO

  • CSIDL_FAVORITES

  • CSIDL_DESKTOP

  • CSIDL_QUICKLAUNCH

  • FOLDERID_Contacts

  • FOLDERID_Libraries

  • FOLDERID_Downloads

  • FOLDERID_SavedGames

  • FOLDERID_RecordedTV

注意

分配给用户上下文的组件中包含的规则将针对计算机上的每个用户配置文件运行。 由 MigDocs.xml 文件多次扫描的文件仅复制到迁移存储一次。 但是,用户上下文中的大量规则可能会减慢迁移速度。 如果适用,请使用系统上下文。

自定义版本的 XML 文件的示例迁移规则

提示

有关 USMT 中自定义 XML 文件的最佳做法和要求,请参阅自定义 USMT XML 文件和常规约定

排除规则用法示例

在以下示例中,源计算机在名为 的目录中具有名为 new text documentnew folder.txt 文件。 默认 MigDocs.xml 行为迁移新文本文件 document.txt 和目录中包含 new folder 的所有文件。 函数生成的规则包括:

规则 语法
规则 1 <pattern type="File">d:\new folder[new text document.txt]</pattern>
规则 2 <pattern type="File">d:\new folder[]</pattern>

若要在 中new folder排除新的文本文件document.txt和任何 .txt 文件,可以进行以下修改:

示例 1:排除文件夹中的所有 .txt 文件

若要排除规则 1,文件名必须完全匹配。 但是,对于规则 2,可以使用文件扩展名创建一个模式来排除文件。

<exclude>
     <objectSet>
        <pattern type="File">D:\Newfolder\[new text document.txt]</pattern>
         <pattern type="File">D:\New folder\*[*.txt]</pattern>
     </objectSet>
</exclude>

示例 2:使用 UnconditionalExclude 元素为规则提供优先于 include 规则的优先级

如果文件名或文件位置未知,但文件扩展名已知, GenerateDrivePatterns 则可以使用 函数。 但是,该规则不如文件生成的 MigDocs.xml 默认包含规则更具体,因此它没有优先级。 <必须使用 UnconditionalExclude> 元素,使此规则优先于默认包含规则。 有关 XML 迁移规则的优先级顺序的详细信息,请参阅 冲突和优先级

<unconditionalExclude>
     <objectSet>
        <script>MigXmlHelper.GenerateDrivePatterns ("*[*.txt]", "Fixed")</script>
     </objectSet>
</unconditionalExclude>

示例 3:使用 UserandSystem 上下文组件在这两个上下文中运行规则

若要将 <UnconditionalExclude> 元素应用于系统和用户上下文,可以使用 UserandSystem 上下文创建第三个组件。 此组件中的规则在这两个上下文中运行。

<component type="Documents" context="UserandSystem">
   <displayName>MigDocExcludes</displayName>
   <role role="Data">
     <rules>
       <unconditionalExclude>
         <objectSet>
                <script>MigXmlHelper.GenerateDrivePatterns ("*[*.txt]", "Fixed")</script>
         </objectSet>
       </unconditionalExclude>
     </rules>
   </role>
</component>

有关可在自定义迁移 XML 文件中使用的排除规则的更多示例,请参阅 排除文件和设置

包含规则用法示例

应用程序数据目录是需要为其添加包含规则的最常见位置。 默认情况下,函数 GenerateDocPatterns 排除此位置。 如果组织使用将重要数据保存到此位置的应用程序,则可以创建包含规则来迁移数据。 例如, .pst 文件的默认位置为: %CSIDL_LOCAL_APPDATA%\Microsoft\Outlook。 该文件 MigApp.xml 包含迁移规则,用于仅移动链接到 outlook Microsoft .pst 文件的迁移规则。 若要包含未链接的 .pst 文件,可以进行以下修改:

示例 1:在已知用户文件夹中包括文件扩展名

此规则包括位于默认位置但未链接到 Outlook Microsoft 的 .pst 文件。 使用用户上下文为计算机上的每个用户运行此规则。

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
     <objectSet>
        <pattern type="File">%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook\*[*.pst]</pattern>
     </objectSet>
</include>

示例 2:在程序文件中包括文件扩展名

对于用户配置文件外部的位置(如 Program Files 文件夹),可以将规则添加到系统上下文组件。

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
     <objectSet>
        <pattern type="File">%CSIDL_PROGRAM_FILES%\*[*.pst]</pattern>
     </objectSet>
</include>

有关可在自定义迁移 XML 文件中使用的包含规则的更多示例,请参阅 包含文件和设置

提示

有关 XML 迁移规则的优先级顺序的详细信息,请参阅 冲突和优先级

后续步骤

文件或其他 XML 迁移文件中可以包含 MigDocs.xml 迁移的其他规则。 例如, <locationModify> 当文件应用于目标计算机时,元素可用于将文件从收集到的文件夹移动到其他文件夹。

XML 架构 (MigXML.xsd) 文件可用于验证自定义 XML 文件的语法。 有关详细信息,请参阅 USMT 资源