Автоматизация установки клиентских операционных систем при помощи Windows Deployment Services. Часть I. Установка.

В этой статье мы рассмотрим шаги, необходимые для того, чтобы установить и настроить систему автоматической установки клиентских операционных систем на основе Windows Deployment Services. Мы добавим на сервер необходимые загрузочные образы и драйверы, создадим образ для захвата и воспользуемся им для создания установочного образа на основе подготовленной эталонной инсталляции операционной системы Windows 7.

Установка Windows Deployment Services.

Начнем с установки роли Windows Deployment Services на компьютере с операционной системой Windows Server 2008 R2.

Откроем Server Manager, выберем Roles и щелкнем на Add Roles.

Нажмем Next.

В следующем окне ставим галочку в пункте Windows Deployment Services и нажмем Next.

Еще раз Next.

Здесь нам нужно выбрать службы роли Windows Deplotment Services.

Deployment Server позволяет создавать образы операционных систем и управлять ими. Также он позволяет устанавливать эти операционные системы на компьютеры по сети. Для задач передачи данных использует Transport Server.

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

Нам понадобятся обе службы. Нажимаем Next.

На странице Confirmation нажимаем Install.

И по завершении установки на странице Results нам сообщают о ее результатах. Нажимаем Close.

Настройка Windows Deployment Services.

Итак, мы установили роль Windows Deployment Services, и теперь нам нужно произвести его первоначальную настройку.

Нажимаем правой кнопкой на имя нашего сервера и выбираем Configure Server.

Откроется окно Before You Begin мастера Windows Deployment Services Configuration Wizard. Здесь нам сообщают, что после конфигурации сервера нам нужно будет добавить как минимум один загрузочный и один установочный образ. Этим мы займемся чуть позже.

Также здесь перечислены требования, соответствие которым является необходимым для работы Windows Deployment Services, а именно, что настраиваемый нами сервер является членом домена (или же контроллером) Active Directory, что в сети существуют активные DHCP и DNS серверы, а также, что на нашем сервере присутствует раздел диска с файловой системой NTFS, на котором предполагается хранить образы операционных систем.

Нажимаем Next.

В окне мастера Remote Installation Folder Location нам предлагается выбрать каталог, который будет содержать загрузочные и установочные образы, загрузочные файлы PXE (Pre-Boot Execution Environment) и средства управления Windows Deployment Services. Также здесь нам напоминают о том, что раздел, на котором предполагается создать требуемую папку должен содержать файловую систему NTFS.

Выбираем папку и нажимаем Next.

В окне DHCP Option 60 нам сообщают, что на нашем сервере обнаружен DHCP сервер, и предлагают отметить обе присутствующие в окне галочки. Первая, Do not listen on port 67, предписывает службе развертывания Windows не прослушивать порт 67, так как это будет делать присутствующий на нашем сервере DHCP сервер. Вторая галочка, Configure DHCP Option 60 to ‘PXEClient’, добавляет в свойства DHCP сервера опцию 60 со значением ‘PXEClient’, что будет указывать подключающимся клиентам, что данный сервер, кроме DHCP также содержит службу развертывания Windows.

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

Нажимаем Next.

В окне PXE Server Initial Settings нам предлагают выбрать будет ли отвечать наш WDS сервер клиентам, и если будет, то каким и как.

У нас есть три варианта на выбор.

Do not respond to any client computers. При выборе этого варианта, служба развертывания Windows не будет отвечать на запросы клиентов. Эту опцию стоит выбирать, если вы не хотите чтобы сервер принимал запросы от клиентов, пока вы полностью его не сконфигурируете.

Respond to only known client computers. При выборе этого параметра, сервер будет отвечать на запросы только тех машин, информация о которых уже содержится в Active Directory. То есть, чтобы сервер развертывания Windows ответил на запрос компьютера, необходимо, чтобы учетная запись для этого компьютера уже присутствовала в Active Directory. Сделать это можно из оснастки Active Directory Users and Computers, которая устанавливается вместе с ролью Windows Deployment Services. (Из оснастки Active Directory Users and Computers контроллера домена, на котором нет роли WDS это сделать не получится, так как при создании учетной записи компьютера страницы, запрашивающей GUID или MAC-адрес компьютера там не будет.)

Кроме оснастки, для добавления информации о компьютере можно воспользоваться утилитой wdsutil.exe с ключом/Add-Device.

Respond to all client computers (known and unknown). Результатом выбора этой опции будет то, что сервер будет отвечать на все запросы, вне зависимости от того, если ли учетная запись компьютера в Active Directory или нет.

При выборе этого варианта становится доступной галочка Requre administrator approval for unknown computers.

Установка этой галочки приведет к тому, что компьютер с отсутствующей в Active Directory учетной записью сможет продолжить установку только после утверждения администратором. Компьютер появится в списке Pending Devices оснастки Windows Deployment Services, где администратор может либо разрешить установку, либо запретить ее.

Также администратор может просмотреть список ожидающих компьютеров и разрешить или запретить установку используя уже упомянутую утилиту wdsutil.exe с ключами /Get-AutoAddDevices, /Approve-AutoAddDevices и /Reject-AutoAddDevices.

Выбираем вариант Respond only to known client computers и нажимаем Next.

На странице Operation Complete нам предлагают добавить загрузочные и установочные образы по завершении работы мастера. Сейчас мы не будем добавлять образы, поэтому оставим галочку снятой и нажмем Finish.

Свойства сервера WDS.

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

Щелкаем правой кнопкой мыши ни имени нашего сервера и выбираем Properties.

Перед нами откроется окно WDS Properties, содержащее несколько вкладок. Рассмотрим их внимательнее.

Вкладка General.

Здесь указаны имя нашего сервера, каталог, выбранный нами для хранения образов, а также режим работы сервера WDS.

На вкладке PXE Response мы можем обнаружить опции, отвечающие за поведение сервера при ответе на запросы компьютеров, а также величину интервала задержки перед отправкой ответа.

Вкладка AD DS содержит поле шаблона именования компьютеров, учетные записи которых отсутствуют в Active Directory. То есть компьютеры, учетные записи которых не представлены в службе каталогов будут получать имена в соответствии с этим шаблоном. Нажав на ссылку How to specify this format можно узнать о правилах составления данного шаблона.

Кроме того, на этой вкладке можно задать местоположение учетных записей компьютеров, которые будут созданы в процессе установки. В данном случае также имеются в виду те компьютеры, которые не имеют учетной записи в Active Directory.

На вкладке Boot можно задать как будет инициализироваться загрузка по сети (PXE boot).

При выборе Require the user to press the F12 key to continue PXE boot, при старте PXE загрузки будет выведено предложение нажать клавишу F12 для продолжения загрузки по сети. Если же в течение определенного периода времени нажатия клавиши не произойдет, то PXE загрузка будет отменена и компьютер попытается загрузиться с помощью следующего в списке метода загрузки.

Результатом выбора Always continue the PXE boot будет то, что PXE загрузка будет продолжена без какого-либо требования нажать клавишу.

И третий вариант, Continue the PXE boot unless the user presses the ESC key, указывает, что загрузка по сети будет продолжена если в течение определенного интервала времени пользователь не нажмет клавишу ESC.

Для чего это нужно?

Например, вы выбрали вариант Always continue to PXE boot. Он удобен тем, что для загрузки компьютера по сети не нужно будет нажимать никаких клавиш, и пользователь, находящийся в этот момент около компьютера не сможет прервать PXE загрузку нажатием клавиши ESC.

Но с другой стороны, если загрузка по сети стоит первой в списке загрузки компьютера, то это может привести к тому, что компьютер начнет установку операционной системы по сети, но после первой же перезагрузки, процесс повторится, так как компьютер будет пытаться загрузаиться не с жесткого диска (как следовало бы), а опять же при помощи PXE. В этом случае опция Require the user to press the F12 key to continue PXE boot становится весьма полезной.

Какая же опция подходит для вашей сети – решать вам, в зависимости от настройки сервера WDS и используемых вами методов развертывания операционных систем.

Также на этом экране можно задать загрузочный образ по умолчанию для компьютеров архитектуры x86, x64 или же ia64.

На вкладке Client мы можем выбрать файл ответов клиента WDS для каждой из поддерживаемых архитектур.

Существует два вида файлов ответов – файл ответов клиента WDS и файл ответов установочного образа.

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

Файл ответов установочного образа применяется при автоматизации установки операционной системы, т.е. после того, как комьютер загрузит установочный образ и запустится уже со своего жесткого диска, и настраивается на уровне установочного образа. Файлы ответов этого типа отличаются для операционных систем Windows 7 и Windows XP.

Установка галочки Do not join the client to a domain after an installation приведет к тому, что сервер WDS не будет вводить установленные компьютеры в домен, хотя по умолчанию он это делает.

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

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

Первая галочка, Do not listen on port 67, предотвращает прослушивание сервером WDS порта 67, так как этот порт будет прослушиваться сервером DHCP.

Вторая галочка, Configure DHCP option 60 to indicate that this server is also a PXE server, отвечает за добавление опции 60 в параметры DCHP сервера. Эта опция будет указывать клиентам DHCP, что данный компьютер также является и PXE сервером.

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

На вкладке Advanced у нас есть возможность предоставить серверу WDS динамически выбирать серверы службы каталога либо мы можем сами выбрать контроллер домена и сервер глобального каталога для использования сервером WDS.

Также на этой вкладке мы можем выбрать, нужно ли авторизовывать сервер WDS в DHCP.

Что это такое?

В сущности, авторизация сервера развертывания операционных систем заключается в добавлении записи о сервере в раздел конфигурации Active Directory по пути cn=NetServices,cn=Services, как это происходит при авторизации DHCP сервера.

Эту процедуру также можно выполнить при помощи утилиты wdsutil.exe с командой /Set-Server /Authorize:Yes.

Но в отличие от сервера DHCP, отсутствие авторизации которого приведет к тому, что он не будет обслуживать клиентов, для сервера WDS эту проверку нам нужно включить. Сделать это можно при помощи уже упомянутой утилиты wdsutil.exe с командой /Set-Server /RogueDetection:Yes.

Здесь есть одна особенность. Если серверы DHCP и WDS установлены на одной машине, то авторизация сервера WDS не будет иметь смысла, так как в этом случае запросы на порт 67 будут обрабатываться сервером DHCP и проверяться будет именно его авторизация.

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

На вкладке Network мы можем настроить диапазон портов, используемый сервером WDS для передачи клиентам образов операционных систем как при использовании мультикастинга, так и протокола TFTP.

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

Драйверы.

Теперь поговорим о драйверах.

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

В таком случае нужно добавить необходимый драйвер в загрузочный образ (равно как и в образ захвата операционной системы, Capture Image, и в образ обнаружения сервера WDS, Discovery Image, но об этом позже). И первым шагом будет добавление этого драйвера на сервер WDS.

В этом примере мы добавим драйвер для сетевых карт Realtek. Начнем с 64-х битной версии драйвера.

Щелкаем правой кнопкой мыши на узле Drivers и выбираем Add Driver Package…

Появляется окно Driver Package Location мастера добавления драйверов. Здесь нам требуется указать расположение файлов драйвера.

Оставляем параметр Select driver packages from an .inf file, выбираем требуемый .inf файл и щелкаем Next.

В окне Available Driver Packages нас информируют о том, какие пакеты драйверов были найдены в указанном нами месте. Здесь мы можем снять галочку с тех пакетов, которые мы не желаем добавлять на сервер. Также у нас есть возможность подробнее ознакомиться с содержимым пакета, дважды щелкнув на соответствующей ему строке.

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

В открывшемся окне мы можем узнать общую информацию о пакете, список входящих в него драйверов (вкладка Drivers) и список файлов, составляющих данный пакет (вкладка Files).

Закроем окно нажатием на кнопку OK и перейдем к следующему окну мастера.

В окне Summary мы видим выбранный нами пакет драйверов. Нажатием на кнопку Next этот пакет будет добавлен на сервер WDS.

В следующем окне нас информируют об успешном добавлении пакета драйверов. Нажимаем Next.

В окне Driver Groups нам предлагают добавить этот пакет в группу драйверов, чтобы он был доступен для клиентов во время установки. Мы не будем этого делать и выберем вариант Do not put the driver package in a driver group at this time. Нажимаем Next.

В последнем окне мастера мы видим галочку Modify the filters for this group now, установив которую, в случае если бы мы добавили пакет в какую-либо группу в предыдущем окне, мы бы могли создать или изменить фильтры для этой группы.

Нажимаем Finish и повторяем процедуру для 32-х битной версии драйверов.

В итоге, узел All Packages, находящийся под узлом Drivers будет выглядеть следующим образом.

Загрузочные образы (Boot Images).

Теперь мы можем заняться добавлением загрузочных образов.

Щелкаем правой кнопкой мыши на узле Boot Images и выбираем Add Boot Image…

Откроется мастер добавления образов.

Необходимый нам загрузочный образ мы можем найти на диске дистрибутива Windows 7. Он находится в папке Sources и имеет название boot.wim. 64-х разрядная и 32-х разрядная версия образа находится соответственно на дисках 64-х и 32-х разрядной версии Windows 7.

В нашем случае образы уже скопированы на локальный жесткий диск.

Итак, указываем местоположение 64-х разрядной версии загрузочного образа и нажимаем Next.

В следующем окне нам предлагают указать имя и описание добавляемого образа и предлагают для этого значения по умолчанию.

Стоит изменить предлагаемые значения на что-нибудь более понятное. Например, вы можете указать имя, отражающее назначение данного образа.

Мы в качестве имени и описания укажем Boot (x64) и нажмем Next.

На странице Summary в поле Selected Images мы видим выбранный нами образ. Мы можем нажать кнопку Back и внести изменения, либо добавить образ на сервер, нажав на кнопку Next.

Как мы видим на странице Task Progress, образ успешно добавлен.

Проделаем ту же операцию для добавления 32-х разрядного образа.

Добавление драйверов в загрузочные образы.

Теперь добавим драйверы сетевых карт в загрузочные образы.

Щелкнем правой кнопкой мыши на требуемом загрузочном образе и выберем Add Driver Packages to Image…

Откроется окно мастера, предупреждающее о том, что добавление поврежденного драйвера может привести к порче загрузочного образа и рекомендующее перед добавлением сделать резервную копию образа путем закрытия мастеры и выбора в контекстном меню пункта Export Image.

Так как это тестовая среда, мы пропустим этот шаг и нажмем Next.

В следующем окне мы имеем возможность указать критерии поиска нужного нам пакета драйверов. Указав необходимые параметры (или оставив значения по умолчанию, как в нашем случае), нажмем кнопку Search for Packages.

Так как в нашей системе присутствует только один драйвер 64-х разрядной архитектуры, то в нижней части окна мастера отобразится только он. Здесь мы можем снять галочки с тех пакетов, добавлять которые мы не собираемся. Оставим галочку на нашем пакете драйверов для сетевых карт Realtek и нажмем Next.

В окне Selected Driver Packages нам еще раз показывают выбранные нами драйверы и сообщают, что нажатием кнопки Next они будут добавлены в загрузочный образ. Нажимаем Next.

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

Стоит отметить, что для того, чтобы посмотреть какие драйверы уже присутствуют в определеннном загрузочном образе, а также для их удаления из него вам нужно будет воспользоваться утилитой dism.exe. Процесс будет состоять из следующих шагов: вы экспортируете требуемый образ, после чего монтируете его в файловую систему при помощи вышеупомянутой утилиты с ключом /Mount-Wim.

Выполнив эти действия, можно будет просмотреть список уже присутствующих в образе драйверов при помощи ключа /Get-Drivers, либо удалить некоторые из них использую ключ /Remove-Driver.

Если вашей целью было удаление драйверов из образа, то перед размонтированием его необходимо будет сохранить. После завершения работы с образом нужно будет импортировать его на сервер WDS.

Повторим операцию по добавлению драйверов для 32-х разрядного образа.

Образы захвата (Capture Images).

Теперь на основе содержащего требуемые драйверы загрузочного образа создадим образ для захвата операционной системы (Capture Image).

Щелкнем правой кнопкой мыши на нужном загрузочном образе и выберем Create Capture Image…

Откроется окно мастера, предлагающее ввести имя и описание создаваемого образа, а также его будущее расположение в файловой системе.

Введем необходимые данные и нажмем Next.

Мастер выполнит необходимые действия по созданию образа и сохранит его по указанному пути.

По завершении работы мастера мы имеем возможность добавить созданный образ на сервер WDS. Для этого поставим галочку Add Image to the Windows Deployment Server now и нажмем Next.

Откроется окно мастера с уже указанным расположением созданного нами в предыдущем шаге образа. Нажмем Next.

В следующем окне мастерамы имеем возможность изменить имя и описание добавляемого образа. В данном случае существующие значения удовлетворяют нашим требованиям, так что мы не станем их менять и сразу нажмем Next.

В окне Summary нам еще раз показывают выбранный образ и в случае ошибки предлагают нажать кнопку Back и внести требуемые изменения. Для добавления образа на сервер предлагается нажать кнопку Next.

После завершения работы мастера нам сообщают что процесс прошел успешно. Закроем окно нажатием кнопки Finish.

Повторим вышеописанные шаги для создания образа захвата из 32-х разрядного загрузочного образа.

Подготовка к созданию установочных образов.

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

Первое из них — это создание группы установочных образов.

Щелкнем правой кнопкой мыши на пункте Install Images консоли Windows Deployment Services и выберем Add Image Group…

Введем имя группы и нажмем OK.

Кроме того, нам потребуется изменить настройку PXE Response Policy сервера WDS, находящуюся в окне WDS Properies на вкладке PXE Response, выбрав пункт Respond to all client computers (known and unknown) вместо установленного нами при первоначальной настройке Respond only to known client computers.

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

Также это можно сделать из командной строки, выполнив команду wdsutil.exe /Set-Server /AnswerClients:All.

Установочные образы (Install Images).

Теперь мы можем заняться добавлением на сервер установочного образа.

Для этого нам нужен компьютер с установленной и настроенной операционной системой, на основе которого мы создадим эталонный образ для развертывания. В нашем случае это будет 64-х разрядная редакция Windows 7 Professional.

Перед захватом образа нам нужно подготовить операционную систему. Делается это при помощи утилиты sysprep.exe, находящейся в папке %SystemRoot%\System32\sysprep\.

Можно воспользоваться ею как из графического интерфейса, так и из командной строки.

При работе с ее графическим интерфейсом в выпадающем меню System Cleanup Action нам нужно будет выбрать пункт Enter System Out-of-Box Experience (OOBE) и поставить галочку Generalize.

В выпадающем меню Shutdown Options выберем Reboot.

При вызове утилиты из командной строки нам нужно будет указать ключи, соответствующие вышеуказанным параметрам.