Пожалуй, самой частой упоминаемой из них является желание в явном виде указать те или иные параметры перед началом установки ОС. Чаще всего таким параметром является имя компьютера. Действительно, пользователям трудно объяснить, почему их компьютер называется MININT-KGKGUBG, а не COMP-V-PUPKIN. Либо на предприятии существует политика, которая предписывает именовать все компьютеры, опираясь на их роль и территориальную принадлежность, например W-MSK-000129.
Вариант I – Computer Association
Одним из способов решения данной проблемы является заведение записи компьютера в базе SCCM. В этом нам поможет механизм Computer Association, смысл которого заключается в ручном добавлении пары Имя компьютера – MAC адрес в базу данных SCCM.Для того чтобы вручную добавить компьютер в базу данных SCCM необходимо перейти к пункту: Configuration Manager Console – Site Database – Computer Management – Operating System Deployment – Computer Association – Actions: Import Computer Information. В появившемся мастере доступны два способа добавления записей: Import computer using file (добавление группы компьютеров с помощью CSV файла) и Import single computer (добавление одиночного компьютера).
Для примера добавим одиночный компьютер с желаемым именем W-TST-0001 и MAC-адресом 00:E0:4C:62:02:B0. Если мы добавляем новый, ранее не известный SCCM компьютер, то поле SMSBIOS GUID можно не заполнять, оно будет заполнено автоматически.
Параметром Source computer мы можем указать уже существующую запись в базе данных SCCM, с которой будет ассоциирована новые данные (имя и MAC-адрес).
Далее указываем коллекцию в которую будет добавлена запись.
Теперь рассмотрим способ добавление группы компьютеров через файл.
Для начала необходимо сформировать сам файл.
Затем выбираем пункт: Import computer using a file. Указываем место нахождение файла, и соответствие столбцов файла и полей БД.
Но такой способ (Computer Association) приемлем, только если у вас малое количество компьютеров и при этом он требует значительных трудозатрат (предварительно необходимо собрать MAC-адреса компьютеров и внести их в базу). Если есть возможность – переложите эту «ношу» на поставщика вашей техники. Пусть вместе с бухгалтерскими документами, вам передается и заранее сформированный файл. Другим вариантом частичного решения проблемы будет экспорт данных из БД вашего DHCP сервера. Но по многим причинам он далек от оптимального:
- необходимо чтобы компьютеры получили адрес от DHCP сервера;
- выгрузку из DHCP необходимо вручную обработать и удалить записи известных компьютеров;
- выгрузку из DHCP необходимо обработать и привести MAC адрес к виду XX:XX:XX:XX:XX.
Вариант II – Автоматическая генерация имени
Рассмотрим другой способ задания имени компьютера. Он будет основываться на обработке заранее известных нам признаков. Например, если за такой признак мы возьмем его серийный номер, и тип компьютера (рабочая станция или ноутбук), то мы сможем формировать примерно такие имена компьютеров:N-DGDG3546
Для того чтобы воспользоваться данным методом, нам необходим скрипт, который мог бы обрабатывать переменные OSD (OSD variables). Мы можем написать такой скрипт с нуля самостоятельно, либо воспользоваться уже готовой обвязкой из скриптов LTI из набора MDT 2010. Для этого нам необходимо выполнить условия:
- установить на сервере MDT 2010
- интегрировать MDT 2010 в SCCM 2007
- создать и использовать Microsoft Deployment Task Sequence
После этого возможно создание MDT Task Sequence в консоли SCCM. Для этого переходим в пункт OSD – Task Sequence – Create Microsoft Deployment Task Sequence.
Внимание! Рассматривается работа MDT 2010 и SCCM 2007 SP2. Настройки для других версий SCCM могут незначительно отличаться.Выбираем шаблон для рабочих станций: Client Task Sequence.
Вводим название и комментарии.
Задаем настройки присоединения к домену. Необходимо ввести лицензионный ключ, причем установка XP SP3\Vista\Win7 в принципе его не требует, но в поле его вбить все равно необходимо.
Выбираем, будем ли мы снимать образ с данной установки или нет.
Указываем загрузочный образ. Если его у нас нет, мы можем создать (см. ниже).
Переходим к самому интересному – к созданию различных пакетов MDT. В частности именно этот пакет (MDT Binaries) содержит в себе файлы скриптов LTI.
Вводим служебные данные пакета.
Указываем WIM файл с операционной системой. Кроме того мы можем использовать вариант установки ОС через пакет (OS Install Package), либо тут же создать новый образ\пакет.
Указываем пакет с клиентом SCCM.
Указываем пакет с USMT, даже если мы не планируем использовать данное средство, как и в случае с лицензионным ключом, нам всеже придется создать пакет.
Данный пакет (MDT Settings) содержит файл unattend.ini\unattend.xml и описывает параметры установки ОС.
Использовать или нет sysprep. Отмечать необходимо только если у нас в начале выбран вариант снятия образа (capture image).
Проверяем итоговую сводку настроек.
После создания пакетов, не забудте указать для них Distribution Point!
А теперь собственно, то ради чего мы создавали MDT Task Sequence. Открыв созданный TS, необходимо выкинуть «неинтересные» нам шаги (например USMT) и добавить шаг со скриптом. Добавлять шаг со скриптом необходимо перед шагом TS:
Общий смысл скрипта сводится к изменению значения переменной OSDCOMPUTERNAME на необходимое нам значение. Сделать это можно добавив например такой скрипт в TS перед шагом применения образа ОС.
В итоге мы будем получать уже более-менее осмысленное имя компьютера.
Вариант III – MDT Boot Wizard Hook
Но и этот способ не оптимален. К счастью, в новой версии MDT была внедрена штатная поддержка хуков TS, что позволило нам запускать свой мастер, до старта мастера OSD. Следует сказать, что OSD SCCM предназначен для установки ОС с помощью метода Zero Touch Installation (ZTI) – т.е. полностью в автоматическом режиме. Работа данного метода лучше всего демонстрируется на примере Task Sequence на принудительную перезаливку компьютеров. Когда задание запускается не по сети (PXE) или с диска (CD\DVD Boot Media), а из клиентской операционной системы, а затем производит ее переустановку. В MDT же применяется другой метод: Lite Touch Installation (LTI) – т.е. пользователь предварительно отвечает на некоторые вопросы некоего мастера, а затем установка происходит в автоматическом режиме. ZTI метод предназначен в первую очередь для массовой установки\переустановки, и дает меньшую свободу действий по сравнению с LTI (она есть, но основана на автоматическом выборе неких критериев, например: в зависимости от модели и производителя компьютера). LTI, напротив, дает большую свободу, но меньше приспособлен к массовому развертыванию. До выхода MDT 2010 LTI метод был не возможен в OSD SCCM, теперь при интеграции MDT 2010 и SCCM 2007 мы можем использовать и LTI установку. Для поддержки LTI нам необходимо, во-первых, использоваться загрузочный образ MDT, во-вторых, включить хук при создании этого образа.Чтобы создать MDT Boot Image необходимо в консоли администрирования SCCM перейти к разделу Operating Sustem Deployment – Boot Image – Create Boot Image Using Microsoft Deployment.
В появившемся мастере указываем сетевую папку, в которой будет создан загрузочный образ. Папка уже должна существовать.
Вводим название загрузочного образа и другие информационные данные.
Самое интересное начинается на странице Image Options. Во-первых, нам необходимо выбрать архитектуру загрузочного образа (х86 или х64). Во-вторых, указать, что данный образ будет содержать в себе hook файл. Для этого отмечаем параметр Add media hook files to enable the Deployment Wizard for this boot media.
Параметр Custom background bitmap file мы можем указать использование в загрузочном образе собственных обоев. В принципе точно такого же результат можно добиться потом, указав данный параметр в свойствах образа в консоли администрирования SCCM. Параметр Extra directory to add указывает папки, содержимое которой будет скопировано в корень загрузочного диска. В эту папку полезно помещать программу trace32.exe, кроме того сюда же, а точнее в .\Deploy\Scripts\ необходимо добавлять свои скрипты и файлы, если вы планируете их использовать в при работе мастера.
Включение хука, в принципе, регулируется только наличием файла TS.ini в корне загрузочного образа. Загружаясь WinPE проверяет наличие данного файла и если находит его, то запускает указанный в нем скрипт. Это метод работал и при использовании MDT 2008, однако данный файл необходимо было включать в образ вручную.
Однако мало запустить скрип, необходимо создать мастер, который будет выполнятся по указанному нами сценарию. По умолчанию такой мастер уже существует, он называется MDT Boot Wizard и выполняет только одну функцию: запрос имени компьютера у пользователя. Как это происходит можно увидеть на видео в блоге Michael Niehaus. (http://blogs.technet.com/mniehaus/attachment/3284170.ashx).
Мастер представляет из себя xml-файла параметров, который взаимодействуя с готовой формой Wizard.hta и показывает заданные параметры пользователю. По умолчанию файл описания Deploy_SCCM_Definition_ENU.xml находится в папке %programfiles%\Microsoft Deployment Toolkit\SCCM\
Внимание! В текущей версии MDT 2010 есть небольшая ошибка. В загрузочный образ MDT Boot Image включаются только заранее предопределенные файлы из папки %programfiles%\Microsoft Deployment Toolkit\SCCM\. Например файл Deploy_SCCM_Definition_ENU.xml и Deploy_SCCM_Definition_ENU_my_custom.xml будут скопированы в образ. А файл Deploy_SCCM_MyCompany.xml нет. Точно так же будет и с файлами скриптов. Для добавления этих файлов в образ, необходимо воссоздать структуру каталогов Disk:\Deployment\Scripts и эту папку указывать при создании образа (Extra directory to add).