Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР 130, ОКТЯБРЬ 2009 г.

Сетевая рассада. Microsoft Deployment Toolkit 2010: решение для организации простого развертывания Windows систем и приложений

Сергей «grinder» Яремчук (grinder@synack.ru)

Установка операционных систем со всеми драйверами, патчами и приложениями на большое количество компьютеров локальной сети - довольно монотонная и трудоемкая задача, которая способна вогнать в уныние даже самого трудолюбивого админа. Спасательной шлюпкой может стать инструментарий Microsoft Deployment Toolkit 2010, позволяющий автоматизировать процедуру установки ОС Windows и приложений, а также упростить массовую миграцию с Win2k/WinXP на Vista/Seven.

Знакомимся с MDT

MDT вырос из набора Business Desktop Deployment, призванного максимально облегчить развертывание большого числа клиентских ОС. Первые версии BDD справлялись только с установкой WinXP, в BDD 2007 разработчики добавили поддержку Vista и Office 2007. Через год BDD получил новые возможности (из основных отмечу только интеграцию с WDS и SCCM 2007) и сменил имя на MDT 2008. С появлением новых версий Windows свет увидел MDT 2008 Update 1 и, наконец, в сентябре 2009 года вышел релиз MDT 2010, обеспечивающий установку (обновление) WinXPSP3, Vista SP1, Win2k3R2, Win7 и Win2k8/R2 (2k3 только для x86), приложений Office 2007 и SQL Server 2008.

Инструменты MDT позволяют управлять драйверами, обновлениями, языковыми пакетами, упаковывать и устанавливать, в принципе, любые приложения. Для управления настройками MS Office в MDT 2010 включен Office Customization Tool (OCT), при помощи которого создается MSP-файл настроек, используемый при установке или обновлении Office 2007 с заданными параметрами. Остальные приложения можно настраивать, задавая ключи командной строки.

В MDT 2010 улучшена производительность, оптимизирована модель управления, теперь можно руководить установкой с любого места, главное - наличие в системе MDT и соответствующих прав на сетевые ресурсы. Для упрощения настроек используются профили и иерархические элементы. Поддержка PowerShell позволяет автоматизировать многие задачи при помощи скриптов. Важно также отметить, что MDT 2010 может обновлять системы, использующие BitLocker, без расшифровки жесткого диска, что позволяет защитить конфиденциальную информацию и пароли.

Новая версия требует боекомплект "WAIK 2.0 для Windows 7", позволяющий проводить подготовку и автоматизированное развертывание Win2k8R2 и Win7. В него уже встроены WinPE 3.0 и Windows User State Migration Toolkit 4.0 (USMT, обеспечивает перемещение пользовательского профиля и данных во время перехода на другую ОС), поэтому отдельно их скачивать не нужно. Также в состав WAIK и новых ОС (Win2k8R2, Seven) входит новый инструмент DISM (Deployment Image Servicing and Management), умеющий работать с образами WIM (Windows Imaging Format) и WinPE, заменяя множество утилит из предыдущих версий Windows AIK - Package Manager (Pkgmgr.exe), International Settings Configuration Tool (intlcfg.exe) и Windows Preinstallation Environment (PEimg.exe). Кроме того, MDT 2010 может совместно работать с:

  • Application Compatibility Toolkit (ACT) – используется для проверки совместимости приложений с ОС Windows;
  • Microsoft Assessment and Planning Toolkit (MAP) – используется для определения состава компьютера и выдаче рекомендаций по возможности проведения апгрейда на новую версию Windows.

Файлы для развертывания теперь можно хранить не только на локальном диске или сетевом каталоге, но и задействовать возможности распределенной файловой системы DFS (Distributed File System, подробнее смотри в X_12_2007). Для настроек загрузчика MDT 2010 обращается к утилите BCDEdit (в MDT 2008 Update 1 - BitLocker Drive Preparation Tool, BdeHdCfg.exe). При работе с дисками тулкит использует рекомендуемую для Win7 схему разбиения, то есть создает два раздела, что позволяет в дальнейшем активировать BitLocker без лишних телодвижений. Результатом работы MDT 2010 является создание готовых загрузочных образов в форматах WIM или ISO.
MDT 2010, как и предыдущие версии, поддерживает два варианта установки:

  • Light Touch Installation (LTI) - позволяет развернуть ОС из общей папки или другого хранилища (DVD-диск, флэшка и т.п.), без задействования дополнительных инструментов;
  • Zero Touch Installation (ZTI) - развертывание производится с использованием возможностей SCCM 2007 (SMS 2003 уже не поддерживается MDT 2010).

LTI идеально подходит для небольших и средних организаций, в которых нужно быстро развернуть большое количество ОС. Установка систем может производиться вручную, то есть потребуется загрузка с записанного на диск ISO-образа, сгенерированного MDT 2010. При наличии службы развертывания WDS возможна автоматическая установка систем (о настройке Windows Deployment Services читай в X_06_2007). Все новинки, появившиеся в MDT 2010, как раз и относятся к LTI варианту.

ZTI установка обычно производится в полностью автоматическом режиме, процесс активируется либо SCCM, либо WDS.

Установка MDT 2010

Для работы MDT 2010 понадобится несколько компонентов:

  • Microsoft Management Console (MMC) v3.0 (входит в состав всех ОС от Vista);
  • Microsoft .NET Framework 2.0 или позднее;
  • Windows PowerShell CLI 1.0 или 2.0 от CTP3;
  • Windows AIK 2.0 для Windows 7 (Набор автоматической установки Windows для Windows 7).

В Win2k8R2 все эти компоненты, кроме WAIK, уже имеются, в других версиях ОС некоторые из них придется доустановить. Если используется ZTI установка, то возможна работа и с ранней версией WAIK 1.0, LTI требует исключительно WAIK 2.0.

Список ОС, на которых можно установить MDT 2010, включает все x86/x64 версии от WinXPSP3 до Win2k8R2, за исключением вариантов Home, серверные - только Standard или Enterprise.

Во время установки будут удалены предыдущие версии MDT и BDD. Перед инсталляцией Microsoft рекомендует создать резервную копию сервера, на который производится установка MDT 2010. Правда, не совсем понятно зачем, ведь существенных изменений в системе не происходит.
При наличии всех составляющих процесс установки MDT не выглядит сложным и не должен вызвать проблем. Просто следуем указаниям мастера, подтверждая установки. После этого устанавливаем WAIK (подробно процесс описан в статье "Самосборные окна" в X_01_2009), по ходу инсталляции установщик проверит наличие MSXML 6.0 (он есть на диске WAIK). Все, первый этап позади, настало время запускать Deployment Workbench из меню Пуск.

Знакомимся с Workbench

Workbench является оснасткой для консоли управления MMC, при помощи которой выполняются все настройки. Меню содержит две вкладки (если не установлен WAIK, вторая будет не активна):

  • Information Center (Информационный центр) - документация и руководство по использованию "Getting Started", ссылки на новостные ресурсы проекта, и в "Components" найдем информацию по компонентам, используемым MDT;
  • Deployment Shares (Ресурсы установки) - общий ресурс, где собираются файлы установки ОС, приложений, драйвера, патчи и все остальное, что будет использовано при установке.

В MDT 2008 Update 1 и 2010 Beta1 вкладок было четыре (+Task Sequences, +Deploy), а сам процесс работы выглядел несколько сложнее и запутаннее. Необходимо было создавать дистрибутивные ресурсы, затем в другом меню точки установки, теперь эти функции находятся в одном месте - Deployment Shares, что сделало процесс подготовки более простым и понятным.

Перед началом работы открываем "Components", отмечаем нужные компоненты в группе "Available for Download" и нажимаем появившуюся внизу страницы кнопку "Download".

Не обязательно дожидаться загрузки компонента, можно указать все необходимые и идти пить кофе. MDT методично скачает все, что было указано. Затем повторно отмечаем компонент, но теперь появляются две кнопки "Install" и "Browse" (файлы скачиваются в подкаталоги "C:Program FilesMicrosoft Deployment ToolkitComponents"). Последовательно нажимая "Install", ставим все слитое. Теперь рабочая среда полностью подготовлена.

Создание ресурса установки

Дальнейший процесс выглядит следующим образом - создаем, настраиваем и заполняем ресурс установки, указываем последовательности задач, выполняем обновление установочного ресурса и, наконец, ставим системы. Теперь обо всем по порядку.

Выбираем в консоли "Deployment Shares" и затем в окне "Действия" или в контекстном меню ссылку для создания нового ресурса установки - "New Deployment Share". Появляется мастер создания нового ресурса, в первом окне указываем путь к каталогу, который будет выступать как общий ресурс. По умолчанию предлагается его разместить на диске "С", но учитывая, что образы ОС могут занимать довольно много места, лучше выделить под "Deployment Share" отдельный раздел. Например, f:DeploymentShare$ (сделаем его скрытым). На следующем шаге проверяем правильность UNC имени ресурса (\SERVERDeploymentShare$) и вводим краткое описание. Далее мастер спрашивает, нужно ли создавать образ после завершения установки на компьютер - "Ask if an image should be captured". Если необходимо создать эталонный образ для распространения на несколько систем, флажок можно оставить взведенным, но при работе в доменной среде его рекомендуется не использовать. В любом случае эталонный образ затем можно снять самостоятельно.

На этапе "Allow admin password" установленный флажок "Ask user to set the local Administrator password" позволит пользователям задавать пароль локального администратора. По умолчанию он установлен, но в большинстве случаев этот параметр лучше оставить неактивным. Идем дальше. Если ключ продукта во время установки системы должен вводить пользователь, активируем флажок "Ask user for a produсt key". Убеждаемся, что все установки заданы правильно, и завершаем работу мастера. После создания ресурса можно сохранить вывод и, нажав "View script", просмотреть PowerShell скрипт, который использовался для его создания. Например:

Add-PSSnapIn Microsoft.BDD.PSSnapIn # в последующих примерах эту строку будем опускать new-PSDrive -Name "DS001" -PSProvider "MDTProvider" -Root "f:DeploymentShare$" -Description "MDT Deployment Share" -NetworkPath "\SERVERDeploymentShare$" -Verbose | add-MDTPersistentDrive -Verbose

В дальнейшем можно сохранить получившийся файл NewDS.ps1 и использовать при создании других ресурсов установки.

Настройка ресурса установки

Новый ресурс появляется в "Deployment Shares", щелкнув по знаку "+", можно развернуть и просмотреть его структуру, названия подкаталогов (Applications, Operating Systems, Out-of-Box Drivers, Packages, Task Sequenses, Advanced Configuration) соответствуют своему назначению. Если открыть в Проводнике каталог ресурса установки, то увидим, что названия этих пунктов совпадают с подкаталогами, расположенными внутри.

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

Сначала добавим ОС. Переходим в "Operating Systems" и выбираем в меню импорт ОС - "Import Operating System". Появившийся мастер на первом шаге запросит, что мы хотим импортировать, предлагается выбрать один из трех вариантов:

  • Full set of source files - ОС с установочного CD/DVD или подобных источников;
  • Custom image file - подготовленный WIM-файл;
  • Windows Deployment Services Images - образ, доступный WDS.

Далее рассмотрим первый вариант. На этапе выбора источника "Source" указываем путь к CD/DVD-приводу или каталогу, в котором находятся установочные файлы. По умолчанию файлы с указанного источника будут копироваться на ресурс установки. Но если в качестве источника используется жесткий диск, то установив флажок "Move the files to the deployment share instead of copying them", мастер вместо копирования переместит файлы. Задаем название конечного каталога, по умолчанию в качестве имени будет использована версия ОС. Подтверждаем в окне "Summary" установки и ждем окончания процесса копирования файлов, после чего в меню "Operating Systems" появятся все доступные версии ОС.
Эти настройки также можно произвести средствами PowerShell:

New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "f:DeploymentShare$"
import-mdtoperatingsystem -path "DS001:Operating Systems" -SourcePath "J:" -DestinationFolder "Windows 7 x64" -Verbose

Дополнительные пакеты обновлений, языковые файлы, сервис-паки и т.д. добавляются в меню "Packages". Здесь поступаем аналогично предыдущему шагу: выбираем пункт "Import OS packages" и указываем на каталог (в примере F:MCU), в котором расположены файлы с расширением CAB и MCU. Затем мастер произведет сканирование (в том числе и подкаталогов) и импортирует пакеты в проект. Та же операция силами PowerShell:

New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "f:DeploymentShare$"
import-mdtpackage -path "DS001:Packages" -SourcePath "F:MCU" -Verbose

После импорта новые пакеты будут отображены во вкладке "Packages", выбрав любой из них и нажав ссылку "Свойства", можно изменить некоторые свойства скрипта. В частности, добавить описание и изменить выводимое имя. Два флажка внизу "Hide this package in Deployment Wizard" и "Enable" помогут "спрятать" пакет или отключить его, если при текущей установке в нем нет необходимости. Если пакет не нужен совсем, его проще удалить, выбрав в поле "Действия" соответствующий пункт.

Аналогично добавляются и драйвера устройств. Отмечаем "Out-of-Box Drivers", выбираем ссылку "Import Drives" и указываем на каталог с INF- и CAB-файлами (последние мастер в поисках драйверов распаковывает автоматически). Дополнительный флажок "Import drives even if they are duplicates of an existing driver" разрешит копирование дубликатов драйверов. По окончании нажимаем Finish и смотрим, что добавилось. Выбрав свойства, можно просмотреть подробности драйвера, указать платформу (x86, x64) или отключить драйвер.

Эту операцию легко автоматизировать при помощи скрипта PowerShell:

New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "f:DeploymentShare$"
import-mdtdriver -path "DS001:Out-of-Box Drivers" -SourcePath "G:drivers" -ImportDuplicates -Verbose

Добавляем приложения

Собственно почти все готово для развертывания ОС. Осталось дополнить установку приложениями, чтобы в последствии не разворачивать их вручную. Программы устанавливаются в меню "Applications" выбором "New Applications". Мастер попросит задать источник установки. По умолчанию предлагается "Applications with source files", который и выбираем в большинстве случаев. Здесь просто следуем указаниям мастера. На шаге "Details" заполняем описание, основным является "Application Name", в котором прописываем название приложения, остальные пункты помечены как "Optional". Далее указываем каталог с установочными файлами и на следующем шаге командную строку для установки. Команда зависит от конкретного приложения, здесь лучше поискать инфу на сайте разработчика. Например, для Firefox можно ввести:

FirefoxSetup.exe /D=<полный путь к каталогу установки>

Или, как вариант, использовать INI-файл:

FirefoxSetup.exe /INI=F:sourcefirefoxsetup.ini

Файл setup.ini может выглядеть примерно так:

setup.ini

[Install]
InstallDirectoryName=Mozilla Firefox
QuickLaunchShortcut=true
DesktopShortcut=true
StartMenuShortcuts=true

Подтверждаем настройки и нажимаем Finish. Аналогичным образом настраиваются и другие приложения, в том числе и MS Office.
Вызвав окно свойств импортированного приложения, можно изменить настройки, указать, для каких платформ оно будет устанавливаться (по умолчанию все), в "Dependencies" предписать зависимости.

New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "f:DeploymentShare$"
import-MDTApplication -path "DS001:Applications" -enable "True" -Name "Mozilla Firefox 3.5.3" -ShortName "Firefox" -Version "3.5.3" -Publisher "Mozilla" -Language "ru" -CommandLine "Firefox Setup 3.5.3.exe /D=C:Program FilesMozilla Firefox" -WorkingDirectory ".ApplicationsMozilla Firefox 3.5.3" -ApplicationSourcePath "F:firefox" -DestinationFolder "Mozilla Firefox 3.5.3" -Verbose

Если приложение устанавливается из UNC-каталога (например DFS), или не имеет источника, то в первом окне "New Application Wizard" выбираем "Applications without source files or elsewhere on the network". В этом случае, помимо описания, просто указываем команду запуска. Третий пункт "Application bundle" предназначен для разборок с зависимостями.

Создание последовательности задач

Последовательность задач представляет собой описание шагов, выполняемых во время установки. Переходим в "Task Sequences" и выбираем команду для создания новой последовательности задач - "New Task Sequence". На первом шаге мастера следует ввести уникальный ID (win7-001) и название (Windows 7 Install), опционально комментарий (при большом количестве задач ремарки помогают лучше ориентироваться). Следующий шаг "Select Template" позволяет выбрать шаблон задачи. По умолчанию предлагается "Standard Client Task Sequence", который и будем использовать при установке клиентских ОС, или "Standard Server Task Sequence" - для серверных. Кроме того, доступны еще 5 задач, назначение которых должно быть понятно из названия - "Sysprep and Capture", "Standard Client Replace Task Sequence", "Custom Task Sequence", "Litetouch OEM Task Sequence" и "Post OS Installation Task Sequence".

Выбираем из предложенного списка образ устанавливаемой системы, указываем при необходимости ключ установки, настройки ОС (имя, организация, домашняя страница браузера), пароль локального администратора. Подтверждаем установки и ожидаем завершение процесса создания задач. Выбрав свойства задачи, можно изменить некоторые настройки: подправить Unattend.xml (вызывается Windows System Image Manager), добавить установки (форматирование диска, сетевые настройки и так далее).

New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "f:DeploymentShare$"
import-mdttasksequence -path "DS001:Task Sequences" -Name "Windows 7 Install" -Template "Client.xml" -Comments "Windows 7 Install" -ID "Win7-001" -Version "1.0" -OperatingSystemPath "DS001:Operating SystemsWindows 7 PROFESSIONAL in Windows 7 x64 install.wim" -FullName "grinder" -OrgName "Gljuk" -HomePage "about:blank" -AdminPassword "p@ssw()rd" -Verbose

По окончании всех настроек следует обновить ресурс установки, в ходе процесса будет изменен загрузочный образ в соответствии с произведенными настройками. Выбираем в окне "Deployment Workbench" ресурс установки и в контекстном меню пункт "Update Deployment Share". Появится мастер обновления. В первом окне будет предложено несколько вариантов обновления - оптимизация (дополнительно можно указать сжатие) и регенерация образа. Можно оставить параметры по умолчанию. Подтверждаем установки и ждем. Когда процесс будет закончен, в каталоге DeploymentShare$Boot появятся WIM/ISO-образы для загрузки 32-х/64-х битных систем.

Далее ISO-образ записываем на диск, с которого и загружаем систему, WMI-образ используем для установки при помощи сервиса WDS (слепок нужно скопировать в подкаталог Boot Images). Cкрипт на PowerShell для обновления ресурса установки очень прост:

New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "f:DeploymentShare$"
update-MDTDeploymentShare -path "DS001:" -Verbose

Теперь развертывание десятка ОС не должно вводить тебя в ступор. Как видишь, при использовании MDT 2010 - это простая задача.

Редактор MDT Wizard Editor

На самом деле возможностей по конфигурированию у MDT 2010 на порядок больше, чем описано в статье. Но некоторые требуют знаний отдельных тонкостей. Так многие установки, используемые на клиентских ОС, сохранены в XML-файле DeploymentShare$ScriptsDeployWiz_Definition_ENU.xml. Вручную конфигурировать его неудобно. Здесь может помочь MDT Wizard Editor (mdtwizardeditor.codeplex.com/Wiki/View.aspx) - небольшая утилита, написанная на .NET Framework 2.0 и распространяемая по условиям Microsoft Public License (Ms-PL). Редактор достаточно прост в использовании: выбираем XML-файл, после чего настройки внутри можно отредактировать в ручном или визуальном режиме при помощи переключателей (вкладка Preview). Все настройки затем можно протестировать.

DVD

На прилагаемом к журналу диске ты найдешь PowerShell скрипты и MDT Wizard Editor.

INFO

  • WAIK (Windows Automated Installation Kit) - комплекс средств, позволяющих проводить подготовку и автоматизированное развертывание ОС Windows.
  • О том, как использовать WAIK, читай в статье "Самосборные окна", опубликованной в январском номере ][ за 2009 год.
  • Статью "Начальник сети", посвященную SCCM 2007 R2, читай в августовском номере ][ за 2009 год.
  • Подробно о настройке Windows Deployment Services читай в X_06_2007.

VIDEO

В видеоролике мы покажем, как установить Microsoft Deployment Toolkit 2010, создадим и наполним ресурсы установки, а также сгенерируем загрузочные образы.

WWW

Ресурсы TechNet, посвященные MDT:

Содержание
ttfb: 8.152961730957 ms