Что представляют собой файлы миграции XML

Поведение базового средства миграции пользовательской среды (USMT) 10.0 можно изменить с помощью XML-файлов. В этих файлах имеются инструкции о том, где и как средства USMT должны собирать и применять файлы и параметры. USMT имеет три XML-файла, которые можно использовать для настройки базовой миграции: файлы MigDocs.xml и MigUser.xml, с помощью которых можно изменить способ обнаружения файлов на исходном компьютере, и файл MigApps.xml, который необходим для переноса параметров поддерживаемых приложений. Вы также можете создавать и редактировать пользовательские XML-файлы и файл Config.xml для дополнительной настройки миграции.

В этом разделе представлен обзор встроенных и пользовательских XML-файлов миграции и рекомендации по созданию и редактированию настраиваемой версии файла MigDocs.xml. В файле MigDocs.xml используется новая функция GenerateDocPatterns, которая в USMT используется для автоматического поиска документов пользователей на исходном компьютере.

В этом разделе

Обзор файла Config.xml

Обзор файла MigApp.xml

Обзор файла MigDocs.xml

Обзор файла MigUser.xml

Использование нескольких XML-файлов

Правила XML для переноса файлов пользователей

Функция GenerateDocPatterns

Понятие контекста локального компьютера и контекста пользователя

Пример правил переноса для пользовательских версий XML-файлов

Примеры использования правил исключения

Примеры использования правил включения

Следующие шаги

Обзор файла Config.xml

Config.xml — это файл конфигурации, созданный с помощью параметра /genconfig средства ScanState. Он применяется для изменения состава компонентов операционной системы, которые переносятся средством USMT. Файл Config.xml можно использовать в сочетании с другими XML-файлами, как в следующем примере: scanstate /i:migapps.xml /i:migdocs.xml /genconfig:c:\myFolder\config.xml. При таком использовании файл Config.xml жестко контролирует различные аспекты миграции, в том числе профили, данные и параметры пользователей, не создавая и не изменяя другие XML-файлы. Подробнее о файле Config.xml см. в разделах Настройка XML-файлов USMT и Файл Config.xml.

Примечание  

Редактируя XML-элементы в файле Config.xml, следует изменить элемент, установив для свойства migrate значение no, а не удалять этот элемент из файла. Если вместо редактирования свойства элемента вы удалите его из файла, этот компонент все же может быть перенесен на основе правил в других XML-файлах.

 

Обзор файла MigApp.xml

Файл MigApp.xml, устанавливаемый вместе с USMT, содержит инструкции для переноса параметров приложения, которые перечислены в разделе Компоненты, миграцию которых выполняет USMT. Чтобы перенести параметры приложений, необходимо при запуске средств ScanState и LoadState применить параметр /i, который включает в сценарий переноса файл MigApp.xml. Файлы MigDocs.xml и MigUser.xml не переносят параметры приложений. Чтобы включить в сценарий переноса дополнительные приложения, можно создать пользовательский XML-файл. Подробнее см. в разделе Настройка файлов XML средства миграции пользовательской среды.

Важно  

Файл MigApps.xml обнаружит и перенесет только pst-файлы, связанные с Microsoft Office Outlook. См. раздел Пример правил переноса для пользовательских версий XML-файлов данного документа для получения подробных сведений о миграции PST-файлов, не связанных с Outlook.

 

Обзор файла MigDocs.xml

В файле MigDocs.xml используется новая вспомогательная функция GenerateDocPatterns, позволяющая создавать инструкции для средства USMT по переносу файлов с исходного компьютера на основе расположения этих файлов. Файл MigDocs.xml можно использовать со средствами ScanState и LoadState, чтобы обеспечить более целенаправленную миграцию, чем с помощью USMT без XML-инструкций.

Файл MigDocs.xml с настройками по умолчанию переносит следующие элементы.

  • Все файлы из корневого каталога диска, за исключением %WINDIR%, %PROGRAMFILES%, %PROGRAMDATA% или %USERS%.

  • Все папки корневого каталога на всех жестких дисках. Например: c:\data_mail\*[*].

  • Все файлы в корне папки Profiles, кроме файлов в профиле системы. Например: c:\users\name[mail.pst].

  • Все папки, расположенные в корне папки Profiles, кроме папок в профиле системы. Например: 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 с настройками по умолчанию не включает в перенос следующие элементы.

  • Файлы, отмеченные обоими атрибутами hidden и system.

  • Файлы и папки на съемных носителях.

  • Данные из папок %WINDIR%, %PROGRAMDATA% и %PROGRAMFILES%.

  • Папки, содержащие установленные приложения.

Можно также использовать параметр /genmigxml со средством ScanState для просмотра и изменения списка переносимых файлов.

Обзор файла MigUser.xml

Файл MigUser.xml содержит инструкции для средства USMT по переносу файлов пользователей на основе расширений имен файлов. Файл MigUser.xml можно использовать со средствами ScanState и LoadState, чтобы обеспечить более целенаправленную миграцию, чем с помощью USMT без XML-инструкций. Файл MigUser.xml соберет все файлы из стандартных папок профилей пользователей, а также любые файлы на компьютере с заданными расширениями имени файла.

Файл MigUser.xml с настройками по умолчанию переносит следующие элементы.

  • Все файлы из стандартных папок профилей пользователей, которые описываются как:

    • CSIDL_MYVIDEO

    • CSIDL_MYMUSIC

    • CSIDL_DESKTOP

    • CSIDL_STARTMENU

    • CSIDL_PERSONAL

    • CSIDL_MYPICTURES

    • CSIDL_FAVORITES

    • CSIDL_QUICK LAUNCH

  • Файлы со следующими расширениями:

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

Файл MigUser.xml с настройками по умолчанию не включает в перенос следующие элементы.

  • Файлы, отмеченные обоими атрибутами hidden и system.

  • Файлы и папки на съемных носителях.

  • Данные из папок %WINDIR%, %PROGRAMFILES% и %PROGRAMDATA%.

  • ACLS для файлов в папках вне профиля пользователя.

Можно скопировать файл MigUser.xml и отредактировать его, чтобы включить или исключить стандартные папки профилей пользователей и расширения файлов. Если вам известны все расширения файлов, которые нужно перенести с исходного компьютера, используйте файл MigUser.xml для перемещения всех соответствующих данных независимо от расположения файлов. Однако в результате в процесс переноса может быть включено больше файлов, чем предполагалось. Например, если вы выберете для переноса все JPG-файлы, вы можете перенести такие файлы изображений, как эскизы и логотипы приложений прежних версий, установленных на исходном компьютере.

Примечание  

Каждое расширение имени файла, которое вы включаете в правила при помощи файла MigUser.xml, увеличивает время, необходимое средству ScanState для сбора переносимых файлов. При включении более трехсот типов файлов миграция может существенно замедлиться. Подробнее о других способах организации переноса данных см. в разделе Использование нескольких XML-файлов этого документа.

 

Использование нескольких XML-файлов

Вместе со средствами ScanState и LoadState можно использовать несколько XML-файлов. Каждый из XML-файлов, которые по умолчанию прилагаются к средству USMT или формируются им, настроен для определенного компонента миграции. Чтобы добавить к файлам по умолчанию дополнительные правила переноса, можно также использовать пользовательские XML-файлы.

XML-файл переноса Изменяет следующие компоненты.

Файл Config.xml

Такие компоненты операционной системы, как обои для рабочего стола и тема.

Можно также перегрузить файл config.xml, чтобы включить в правила миграции некоторые параметры приложений и документов при помощи создания файла config.xml вместе с другими XML-файлами по умолчанию. Дополнительные сведения см. в разделах Настройка XML-файлов USMT и Файл Config.xml.

Файл MigApps.xml

Параметры приложений.

Файлы MigUser.xml или MigDocs.xml

Файлы и параметры профилей пользователей.

Пользовательские XML-файлы

Параметры приложений, параметры профилей пользователей или файлы пользователей, выходящие за рамки правил, содержащихся в других XML-файлах.

 

Например, можно использовать все типы XML-файлов переноса в одном сценарии переноса, как в следующем примере.

Scanstate <store> /config:c:\myFolder\config.xml /i:migapps.xml /i:migdocs.xml /i:customrules.xml

Правила XML для переноса файлов пользователей

Важно  

Нельзя использовать файлы MigUser.xml и MigDocs.xml вместе в одной команде. Использование обоих файлов может привести к дублированию некоторых переносимых файлов. Это происходит, если в разных XML-файлах присутствуют конфликтующие инструкции по конечному расположению элементов. В ходе переноса конечный файл будет сохранен только один раз, но затем каждый XML-файл применит его к разным расположениям на конечном компьютере.

 

Если набор данных неизвестен или если многие файлы хранятся вне стандартных папок профилей пользователей, лучше использовать файл MigDocs.xml, а не MigUser.xml, так как файл MigDocs.xml соберет более широкий диапазон данных. Файл MigDocs.xml переносит папки и данные, основываясь на их расположении. Файл MigUser.xml переносит только файлы с заданными расширениями имени файлов.

Если вам требуется в большей степени управлять процессом миграции, вы можете создать пользовательские XML-файлы. См. раздел Создание и редактирование пользовательского XML-файла этого документа.

Создание и редактирование пользовательского XML-файла

С помощью параметра командной строки /genmigxml можно определить, какие файлы будут включены в миграцию. Параметр /genmigxml создает файл в указанной вами папке, где можно просмотреть правила XML и при необходимости изменить их.

Примечание  

Если переустановить USMT, установленные по умолчанию XML-файлы миграции будут перезаписаны, а все изменения, внесенные непосредственно в эти файлы, будут потеряны. Есть смысл создать отдельные XML-файлы для ваших правил переноса и сохранить их в надежном месте.

 

Чтобы создать XML-файл правил переноса для исходного компьютера, выполните следующие действия.

  1. Нажмите Пуск, выберите Все программы, Стандартные, щелкните правой кнопкой мыши элемент Командная строка и выберите команду Запуск от имени.

  2. Выберите учетную запись с правами администратора, укажите пароль, а затем нажмите кнопку ОК.

  3. В командной строке введите команду:

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

    Где <USMTpath> — расположение на исходном компьютере, где были сохранены файлы и инструменты USMT, а <filepath.xml> — полный путь к файлу, в котором можно сохранить отчет. Например, введите:

    cd /d c:\USMT
    scanstate.exe /genmigxml:"C:\Documents and Settings\USMT Tester\Desktop\genMig.xml"
    

Функция GenerateDocPatterns

Файл MigDocs.xml вызывает функцию GenerateDocPatterns, которая принимает три логических значения. Чтобы изменить способ, используемый файлом MigDocs.xml для создания правил XML для миграции, можно изменить следующие параметры.

Параметр Значение Значение по умолчанию

ScanProgramFiles

Аргумент ScanProgramFiles является допустимым, только когда функция GenerateDocPatterns вызывается в контексте локального компьютера. Этот аргумент определяет, будет ли выполняться сканирование каталога Program Files для сбора зарегистрированных расширений имен файлов для известных приложений.

Например, если задано значение TRUE, функция находит и переносит doc-файлы из каталога Microsoft Office, потому что расширение имени файла .doc зарегистрировано на приложение Microsoft Office. Функция GenerateDocPatterns создает следующий шаблон включения для файлов с расширением .doc:

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

Если дочерняя папка включенной папки содержит установленное приложение, ScanProgramFiles также создаст правило исключения для этой дочерней папки. Ко всем папкам в папке приложения будет применено рекурсивное сканирование для поиска зарегистрированных расширений имен файлов.

False

Включение_шаблонов

Аргумент IncludePatterns определяет, будут ли создаваться в XML шаблоны включения или исключения. Если для этого аргумента установлено значение TRUE, функция GenerateDocPatterns создает шаблоны включения и эту функцию необходимо добавить в элемент <include>. Если изменить значение аргумента на FALSE, будут созданы шаблоны исключения и функцию необходимо будет добавить в элемент <exclude>.

True

SystemDrive

Аргумент 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-файлы миграции содержат два элемента <component> с различными настройками context. Контекст локального компьютера применяется к тем файлам на компьютере, которые хранятся вне каталога профилей пользователей, а контекст пользователя применяется к файлам отдельного пользователя.

Контекст локального компьютера

Контекст локального компьютера включает правила для данных вне каталога профилей пользователей. Например, при вызове в контексте локального компьютера из файла MigDocs.xml функция GenerateDocPatterns создает шаблоны для всех общих папок оболочки, файлов в корневом каталоге жестких дисков и папок, расположенных в корне жестких дисков. Включены следующие папки:

  • CSIDL_COMMON_DESKTOPDIRECTORY

  • CSIDL_COMMON_FAVORITES

  • CSIDL_COMMON_DOCUMENTS

  • CSIDL_COMMON_MUSIC

  • CSIDL_COMMON_PICTURES

  • CSIDL_COMMON_VIDEO

  • FOLDERID_PublicDownloads

Контекст пользователя

Контекст пользователя включает правила для данных в каталоге профилей пользователей. При вызове в контексте пользователя из файла MigDocs.xml функция GenerateDocPatterns создает шаблоны для всех пользовательских папок оболочки, файлов, расположенных в корневом каталоге профиля, и папок, расположенных в корневом каталоге профиля. Включены следующие папки:

  • 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-файлов

Примечание  

Рекомендации и требования для настраиваемых XML-файлов в USMT см. в разделах Настройка XML-файлов USMT и Общие соглашения.

 

Примеры использования правил исключения

В следующих примерах на исходном компьютере в каталоге «новая папка» имеется TXT-файл с именем «новый текстовый документ». По умолчанию файл MigDocs.xml переносит файл «новый текстовый документ.txt» и все файлы из каталога «новая папка». При помощи функции были созданы следующие правила:

Правило 1

<pattern type="File">d:\new folder\[new text document.txt]</pattern>

Правило 2

<pattern type="File">d:\new folder\*[*]</pattern>

 

Чтобы исключить файл «новый текстовый документ.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, чтобы установить для правила приоритет перед правилами включения

Если вы не знаете имени или расположения файла, но знаете его расширение, можно воспользоваться функцией 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 содержит правила миграции для перемещения только тех PST-файлов, которые связаны с Microsoft Outlook. Чтобы включить PST-файлы, не связанные с Microsoft Outlook, можно сделать следующее.

Пример 1. Включить расширение имени файла в известной папке пользователя.

Это правило включит в сценарий переноса PST-файлы, которые находятся в расположении по умолчанию, но не связаны с Microsoft Outlook. Для выполнения этого правила для каждого пользователя компьютера используйте контекст пользователя.

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

Пример 2. Включить расширение имени файла в папке Program Files.

Для расположений вне профиля пользователя, таких как папка Program Files, можно добавить правило в компонент контекста локального компьютера.

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

Дополнительные примеры правил включения, которые можно использовать в настраиваемых XML-файлах миграции, см. в разделе Включение файлов и параметров.

Примечание  

Подробнее о порядке старшинства для правил миграции XML см. в разделе Конфликты и приоритет.

 

Следующие шаги

Дополнительные правила переноса можно включить в файл MigDocs.xml или в другие XML-файлы переноса. Например, можно использовать элемент <locationModify>, чтобы при применении на конечном компьютере переместить файлы из папки, в которой они были собраны, в другую папку.

Для проверки синтаксиса пользовательских XML-файлов можно использовать файл схемы XML (MigXML.xsd). Дополнительные сведения см. в разделе Ресурсы USMT.

Связанные разделы

Исключение файлов и параметров

Включение файлов и параметров