Принцип действия средства миграции пользовательской среды

Средство миграции пользовательской среды (USMT) включает два средства, которые переносят параметры и данные: ScanState и LoadState. ScanState собирает сведения на исходном компьютере, а LoadState применяет эти сведения для целевого компьютера.

  • Процесс ScanState

  • Процесс LoadState

    Примечание  

    Дополнительные сведения о том, как USMT обрабатывает правила и XML-файлы, см. в разделе Конфликты и приоритет.

     

Процесс ScanState

При запуске средства ScanState на исходном компьютере выполняется следующий процесс.

  1. Средство анализирует и проверяет параметры командной строки, создает файл ScanState.log, а затем начинает регистрацию.

  2. Программа собирает сведения обо всех компонентах миграции, которые нужно перенести. Объект Компонент миграции — это логическая группа файлов, разделов и значений реестра. Например, в один компонент миграции группируется набор файлов, разделов и значений реестра, в которых хранятся параметры Adobe Acrobat.

    Существуют компоненты трех типов:

    • компоненты, которые переносят параметры операционной системы;

    • компоненты, которые переносят параметры приложений;

    • компоненты, которые переносят файлы пользователей.

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

    В Windows 7 и Windows 8 файлы манифестов управляют переносом параметров операционной системы. Изменять эти файлы нельзя. Чтобы исключить определенные параметры операционной системы, нужно создать и изменить файл Config.xml.

  3. ScanState определяет, какие профили пользователей следует переносить. По умолчанию переносятся все профили пользователей на исходном компьютере. Но можно включать и исключать пользователей с помощью элемента "Параметры пользователя". Профиль "Общие" на исходном компьютере с ОС Windows 7, Windows 8 и Windows 10 всегда переносится, и вы не можете исключить эти профили из миграции.

  4. На этапе Scanning (Сканирование) средство ScanState выполняет следующие действия для каждого профиля пользователя, выбранного для миграции.

    1. ScanState проверяет тип каждого компонента. Если текущий профиль пользователя является системным профилем, а компонент имеет тип System или UserAndSystem, компонент выбирается для этого пользователя. В противном случае компонент пропускается. Соответственно, если текущий профиль пользователя не является системным профилем, а компонент имеет тип User или UserAndSystem, компонент выбирается для этого пользователя. В противном случае компонент пропускается.

      Примечание  

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

       

    2. Далее обрабатывается каждый компонент, выбранный на предыдущем шаге. Любые зависящие от профиля переменные (такие как CSIDL_PERSONAL) вычисляются в контексте текущего профиля. Например, если обрабатываемый профиль принадлежит пользователю User1, переменная CSIDL_PERSONAL будет развернута в значение C:\Users\User1\Documents, если профили пользователей сохраняются в каталоге C:\Users.

    3. Для каждого выбранного компонента средство ScanState вычисляет раздел <detects>. Если вычисление условия в разделе <detects> дает значение "ЛОЖЬ", компонент в дальнейшем не обрабатывается. В противном случае продолжается обработка этого компонента.

    4. Для каждого выбранного компонента средство ScanState вычисляет разделы <rules>. Для каждого раздела <rules>, если текущий профиль пользователя является системным профилем, а контекстом раздела <rules> является System или UserAndSystem, продолжается обработка правила. В противном случае это правило пропускается. В другом случае, если текущий профиль пользователя не является системным профилем, а контекстом раздела <rules> является User или UserAndSystem, продолжается обработка правила. В противном случае это правило пропускается.

    5. Средство ScanState создает список элементов миграции, которые должны переноситься, обрабатывая различные подразделы этого раздела <rules>. Каждый элемент отбирается, если он перечислен в подразделе <include> и для него отсутствует более строгое правило в подразделе <exclude> в том же разделе <rules>. Дополнительные сведения о приоритете в XML-файлах см. в разделе Конфликты и приоритет.

      Кроме того, не переносится любой элемент миграции (такой как файл, раздел реестра или набор значений реестра), который включен в раздел <UnconditionalExclude>.

      Примечание  

      Средство ScanState пропускает некоторые подразделы, такие как <destinationCleanup> и <locationModify>. Такие разделы вычисляются только на целевом компьютере.

       

  5. На этапе Collecting (Сбор) средство ScanState создает главный список элементов миграции, объединяя списки, созданные для каждого выбранного профиля пользователя.

  6. На этапе Saving (Сохранение) средство ScanState записывает собранные элементы миграции в расположение хранилища.

    Примечание  

    ScanState никоим образом не изменяет исходный компьютер.

     

Процесс LoadState

Процесс LoadState очень похож на процесс ScanState. Средство ScanState собирает элементы миграции, такие как файлы, разделы реестра и значения реестра, на исходном компьютере и сохраняет их в хранилище. Аналогично средство LoadState собирает элементы миграции из хранилища и применяет их на целевом компьютере.

  1. ScanState анализирует и проверяет параметры командной строки, создает файл ScanState.log, а затем начинает регистрацию.

  2. LoadState собирает сведения обо всех компонентах миграции, которые требуется перенести.

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

    В Windows 7 и Windows 8 файлы манифестов управляют переносом параметров операционной системы. Изменять эти файлы нельзя. Чтобы исключить определенные параметры операционной системы, нужно создать и изменить файл Config.xml.

  3. LoadState определяет, какие профили пользователей следует переносить. По умолчанию переносятся все профили пользователей, присутствующие на исходном компьютере. Но можно включать и исключать пользователей с помощью элемента "Параметры пользователя". Системный профиль, профиль "Все пользователи" на исходном компьютере под управлением Windows XP или общедоступный профиль на исходном компьютере под управлением Windows Vista, Windows 7 и Windows 8 всегда переносится, и вы не можете исключить эти профили из миграции.

    • Если вы переносите локальные учетные записи пользователей и эти учетные записи еще не существуют на целевом компьютере, необходимо использовать параметр командной строки /lac. Если не указать параметр /lac, локальные учетные записи, отсутствующие на целевом компьютере, не переносятся.

    • Параметры /md и /mu обрабатываются и позволяют переименовать профиль пользователя на целевом компьютере, если такие параметры включены в команду LoadState.

    • Для каждого профиля пользователя, выбранного в хранилище, LoadState создает соответствующий профиль пользователя на целевом компьютере. Для создания доменных профилей пользователя целевому компьютеру не требуется подключение к домену. Если средство USMT не может определить домен, оно пытается применить параметры к локальной учетной записи. Дополнительные сведения см. в разделе Идентификация пользователей.

  4. На этапе Scanning (Сканирование) средство LoadState выполняет следующие действия для каждого профиля пользователя.

    1. LoadState проверяет тип каждого компонента. Если текущий профиль пользователя является системным профилем, а компонент имеет тип System или UserAndSystem, компонент выбирается для этого пользователя. В противном случае компонент пропускается. Соответственно, если текущий профиль пользователя не является системным профилем, а компонент имеет тип User или UserAndSystem, компонент выбирается для этого пользователя. В противном случае компонент пропускается.

      Примечание  

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

       

    2. Далее обрабатывается каждый выбранный компонент. Любые зависящие от профиля переменные (такие как CSIDL_PERSONAL) вычисляются в контексте текущего профиля. Например, если обрабатываемый профиль принадлежит пользователю User1, переменная CSIDL_PERSONAL будет развернута в значение C:\Users\User1\Documents, если профили пользователей сохраняются в каталоге C:\Users.

      Примечание  

      Средство LoadState пропускает раздел <detects>, указанный в компоненте. В этот момент все указанные компоненты рассматриваются как обнаруженные и выбранные для миграции.

       

    3. Для каждого выбранного компонента средство LoadState вычисляет разделы <rules>. Для каждого раздела <rules>, если текущий профиль пользователя является системным профилем, а контекстом раздела <rules> является System или UserAndSystem, продолжается обработка правила. В противном случае это правило пропускается. В другом случае, если текущий профиль пользователя не является системным профилем, а контекстом раздела <rules> является User или UserAndSystem, продолжается обработка правила. В противном случае это правило пропускается.

    4. LoadState создает главный список элементов миграции, обрабатывая различные подразделы в разделе <rules>. Каждый элемент миграции, присутствующий в подразделе <include>, переносится, если для него отсутствует более строгое правило в подразделе <exclude> в том же разделе <rules>. Дополнительные сведения о приоритете см. в разделе Конфликты и приоритет.

    5. Средство LoadState вычисляет подразделы, специфичные для целевого компьютера, например <destinationCleanup> и <locationModify>.

    6. Если целевой компьютер работает под управлением Windows 7 или Windows 8, то компоненты миграции, собранные средством ScanState с помощью файлов манифеста прежних версий, обрабатываются средством LoadState с помощью соответствующего манифеста компонента для Windows 7. Файлы манифестов прежних версий не используются при выполнении LoadState.

      Важно  

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

       

  5. На этапе Apply (Применение) LoadState записывает собранные элементы миграции в различные расположения на целевом компьютере. Если возникают конфликты и для объекта отсутствует правило <merge>, то по умолчанию реестр источника перезаписывает реестр для целевого компьютера. Файлы источника по умолчанию переименовываются аддитивно, например Исходное_имя_файла(1).Исходное_расширение. Некоторые параметры, такие как шрифты, фоновый рисунок и параметры экранной заставки, вступают в действие только после следующего входа пользователя. По этой причине вы должны завершить сеанс после выполнения действий команды LoadState.

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

Синтаксис команд средства миграции пользовательской среды