Компьютерщик на все руки: Ваш друг — USMT

Даже противникам использования средства миграции пользовательского состояния будет полезно напомнить об этом решении для автоматизации миграции и переноса пользовательских параметров конфигурации.

Грэг Шилдс

Помните ли вы свою последнюю или даже предпоследнюю миграцию на новую ОС? Все было довольно просто, так как и потребности были невелики. Под автоматизацией понималось ручное выписывание последовательности операций и пошаговое их вычеркивание по мере завершения. Миграция пользователей в те времена была трудоемкой задачей и проводилась вручную, но она была довольно незамысловатой, не правда ли?

Зачастую такая миграция сопровождалась путаницей в документах и недовольством пользователей. Перенос данных пользователя шел по списку, составленному вручную. Он включал папку «Мои документы» (My Documents), фон рабочего стола, закладки браузера Internet Explorer, а также набор документов, важных с точки зрения пользователя.

Средство миграции пользовательской среды (User State Migration Tool, USMT) представляет собой бесплатный инструмент для автоматизации ведения такого списка. Оно встроено непосредственно в набор средств развертывания (Microsoft Deployment Toolkit, MDT), который можно загрузить с сайта Microsoft. USMT автоматически собирает пользовательские данные для переноса их при миграции в новую систему.

Использование USMT предполагает создание и наполнение общей папки развертывания средствами MDT. После подготовки образа системы, упаковки приложений и настройки последовательности задач можно начинать миграцию либо обновление средствами USMT. Войдите в систему компьютера пользователя и запустите LiteTouch.vbs из папки Scripts в общей папке развертывания.

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

Сражение с Mig-ами

Автоматическое развертывание ОС с использованием MDT — тема довольно обширная. Для простоты будем исходить из того, что вы уже загрузили MDT и подготовили общую папку развертывания. Также предположим, что у вас уже имеются образы системы и основная информация о пользовательских параметрах. Осталось настроить сбор некоторых пользовательских данных для переноса.

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

  • MigApp.XML содержит информацию о параметрах приложений.
  • MigUser.XML обеспечивает сбор базовой информации о профиле пользователя.
  • MigDocs.XML может заменить MigUser.XML и обеспечить более тонкое управление миграцией документов. Не используйте файлы MigUser.XML и MigDocs.XML одновременно.

Эти файлы находятся в общей папке развертывания. Изучая их содержимое (рис. 1), можно заметить, что догадаться о предназначении элементов довольно непросто. Но не беспокойтесь, эти файлы не нужно редактировать вручную. Настройка предполагает в первую очередь создание нового файла с именем, например, Config.XML.

Файл MigApp.XML хранит информацию о пользовательских параметрах приложений

Рис. 1. Файл MigApp.XML хранит информацию о пользовательских параметрах приложений

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

Исключение данных из миграции

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

Обратите внимание, что получившийся файл намного проще для понимания (рис. 2). Каждый элемент с именем component имеет атрибут migrate=yes. Чтобы исключить элемент из списка элементов, которые будет собирать USMT, надо просто поменять значение migrate=yes на migrate=no.

Примерное содержание файла Config.XML с определением данных для переноса

Рис. 2. Примерное содержание файла Config.XML с определением данных для переноса

Можно рассматривать созданный Config.XML как список всех элементов, которые USMT может перенести. Его содержание определяется инструкциями в файлах MigApp.XML и MigUser.XML. С этих позиций задача файла Config.XML — описать те элементы, которые переносить не требуется.

Добавление данных для переноса

Немного труднее добавить данные для миграции, так как сперва нужно четко определить информацию, которую нужно перенести. Такими данными могут выступать файлы, а также элементы реестра. Первым делом, нужно найти данные, которые не охватываются стандартными параметрами, а затем уточнить конкретно, какие данные нужно собирать.

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

Microsoft предлагает целый ряд готовых конфигураций. На странице «Включение файлов и параметров» вы найдете несколько примеров, которые можно взять за основу для выполнения типовых задач. Первый пример решает задачу переноса отдельной ветки реестра:

Заметьте, что немалая доля информации служит просто оберткой для элемента <pattern>, который содержит информацию о ветке реестра. В данном случае будет перенесена ветка HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache.

Информация о миграции файла или папки указывается похожим образом. В следующем примере предусмотрена миграция всех файлов и подпапок папки C:\EngineeringDrafts:

Обратите внимание на небольшие различия в рассмотренных примерах. Сразу видно, в каком месте есть существенное содержание. Также обратите внимание на использование звездочек, так как они определяют, куда переносятся данные. На веб-странице Microsoft предлагает еще несколько примеров, в которых показано, как включать и исключать файлы, папки и параметры реестра по отдельности, использовать звездочки и другие параметры.

Определившись с данными, которые необходимо добавить для миграции, создайте новый файл ConfigAdd.XML на основе этих данных. Файл должен содержать единственную пару тегов <migration> и </migration>. Между открывающим и закрывающим тегом этого элемента размещается один или больше компонентов, описывающих миграцию.

Проверка созданных файлов может оказаться непростым занятием, так как для работы USMT требуется полностью корректный синтаксис XML. Чтобы быстро обнаруживать синтаксические ошибки, можете использовать инструмент XML Notepad с файлом описания структуры MigXML.XSD.

Добавление правил миграций в USMT

Заключительным шагом является интеграция файлов конфигурации, как базовых, так и созданных вручную, в общую папку развертывания MDT. Создайте эти файлы на вкладке «Правила» (Rules) окна «Свойства» (Properties).

Обратите внимание на группу параметров [Default] (рис. 3). Значения этих параметров указывают стандартные XLM-файлы, предназначенные для миграции конкретных операционных систем, а также два специальных файла — Presentations.XML и Config.XML.

Вкладка правил для папки развертывания MDT, где указываются XML-файлы исходных параметров конфигурации

Рис. 3. Вкладка правил для папки развертывания MDT, где указываются XML-файлы исходных параметров конфигурации

Есть также параметр ScanStateArgs, определяющий, какой профиль нужно мигрировать. Полный список возможных аргументов есть в библиотеке TechNet на странице (см. раздел «Параметры пользователя»).

Пример, показанный на рис. 3, представляет распространенный сценарий. В соответствии с заданными параметрами USMT перенесет профили пользователей домена, которые работали с системой хотя бы раз за последние 60 дней. Локальные пользователи миграции не подлежат. Ограничение количества переносимых профилей очень часто бывает полезным — в основном для уменьшения объема данных и ускорения процедуры переноса.

Последний параметр UserDataLocation имеет значение AUTO. Он указывает USMT, что при обновлении компьютера нужно выполнять миграцию с жесткими ссылками. При замене компьютера USMT будет использовать общий сетевой ресурс для хранения информации о пользователе.

Могут быть также полезны следующие команды — они позволяют задать общий сетевой ресурс, который будет использоваться при миграции.

Дайте USMT еще один шанс

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

Greg_Shields

Грэг Шилдс носит звание MVP и является партнером в компании Concentrated Technology. Другие советы и подсказки Грэга из рубрики «Компьютерщик на все руки» вы найдете на сайте ConcentratedTech.com.