Автоматизация установки клиентских операционных систем при помощи Windows Deployment Services. Часть II. Создание файлов ответов.

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

Итак, у нас уже есть установленный и сконфигурированный сервер WDS. Также на сервер добавлены необходимые для установки загрузочные (Boot Images) и установочные образы (Install Images), а также образы захвата (Capture Images).

Для выполнения дальнейших действий нам понадобится пакет Windows Automated Installation Kit, он же WAIK, который можно найти на сайте Microsoft.

Загрузив WAIK, установим его на компьютер. Это будет отдельный компьютер, на котором мы будем создавать файлы ответов для развертываемых операционных систем.

Также нам нужен будет файл install.wim, находящийся на дистрибутивном диске Windows 7 в папке Sources. В нашем случае это русская версия Windows 7 в 64-х разрядной редакции. Скопируем файл на жесткий диск компьютера.

Из пакета WAIK нам нужна будет утилита Windows System Image Manager. Запустив ее, мы увидим пустой интерфейс.

Windows System Image Manager

Далее нам нужно будет выбрать wim-файл, содержащий образ операционной системы.

Нажимаем File, далее Select Windows Image и указываем нужный нам файл.

Select an Image

В открывшемся диалоговом окне нам предлагается выбрать нужную редакцию операционной системы. Мы выберем Windows 7 Professional и нажмем OK.

Catalog file

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

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

Windows Image Added

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

Как известно, сервер WDS использует два вида файлов ответов: файл ответов клиента WDS и файл ответов установочного образа.

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

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

Файл ответов клиента WDS (WDS client unattend file).

Выберем меню File и далее New Answer File…

В поле Answer File появится пока еще пустая структура будущего файла ответов.

New Answer File

Развернем пункт Components в поле Windows Image.

Щелкнем правой кнопкой мыши на пункте с названием, начинающимся с amd64_Microsoft-Windows-International-Core-WinPE_. Далее идет номер версии, который зависит от используемого образа операционной системы, а также языковая привязка, которая в нашем случае – neutral, поэтому в здесь и в дальнейшем мы не будем их указывать.

Щелкнув правой кнопкой мыши, выберем пункт Add Setting to Pass 1 windowsPE.

amd64_Microsoft-Windows-International-Core-WinPE

Это добавит настройки, содержащиеся в этом разделе в поле Answer File  в  группу windowsPE.

amd64_Microsoft-Windows-International-Core-WinPE

В поле Answer File развернем раздел amd64_Microsoft-Windows-International-Core-WinPE, щелкнем правой кнопкой на подразделе SetupUILanguage и выберем пункт Delete.

Снова щелкнем на разделе amd64_Microsoft-Windows-International-Core-WinPE в поле Answer File и в области, находящейся справа, для параметра UILanguage укажем значение ru-ru.

UILanguage

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

Это что касается установки Windows 7.

Если же устанавливаемая вами операционная система – Windows XP или Windows Server 2003, то этот параметр должен отсутствовать в файле ответов клиента WDS, иначе вышеупомянутое окно с запросом установочного образа опять-таки появится.

Учитывая, что в данном случае раздел amd64_Microsoft-Windows-International-Core-WinPE не будет содержать каких-либо параметров, его присутствие в файле ответов также не обязательно.

Естественно, если вы устанавливаете 32-х разрядную операционную систему, то соответствующий раздел будет называться x86_Microsoft-Windows-International-Core-WinPE.

Здесь есть одна особенность. Если в вашем файле ответов указаны параметры как для 32-х, так и для 64-х разрядной архитектуры, то выбор набора параметров, который будет использоваться, зависит от архитектуры загрузочного образа. То есть, если загрузка компьютера происходит с помощью 32-х разрядного загрузочного образа, то используются параметры с префиксом x86, если же загрузочный образ 64-х разрядный, то применяются параметры с префиксом amd64.

Упомянутая особенность состоит в том, что если вы устанавливаете 32-х разрядную версию операционной системы Windows XP, а в файле ответов, кроме 32-х разрядных, также присутствуют параметры для архитектуры x64, то в случае наличия значения для параметра UILanguage для 64-х разрядной архитектуры, диалоговое окно с требованием выбрать установочный образ все-таки появится.

Далее нам нужно разметить жесткий диск компьютера. Для этого мы развернем раздел amd64_Microsoft-Windows-Setup в поле Windows Image и добавим набор параметров DiskConfiguration в группу windowsPE файла ответов.

amd64_Microsoft-Windows-Setup\DiskConfiguration

Развернем раздел amd64_Microsoft-Windows-Setup в поле Answer File, щелкнем правой кнопкой мыши на подразделе DiskConfiguration и выберем Insert New Disk.

Insert New Disk

Щелкнем левой кнопкой мыши на появившемся разделе Disk и в поле параметров справа от Answer File для DiskID введем значение 0. Это будет указывать, что мы будем работать с первым диском в компьютере. Для параметра WillWipeDisk укажем значение true. Устанавливая данное значение для параметра WillWipeDisk, мы указываем, что перед установкой операционной системы жесткий диск компьютера будет переразмечен и все существующие на нем разделы будут удалены.

amd64_Microsoft-Windows-Setup\DiskConfiguration\Disk

Развернем раздел Disk, щелкнем правой кнопкой на CreatePartitions и выберем Insert New CreatePartition.

Insert New CreatePartition

Добавится подраздел CreatePartition, в поле параметров которого мы укажем следующие:

В строке Order укажем 1. Для параметра Size введем 100, и в списке выбора для Type щелкнем на Primary.

amd64_Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

Таким образом мы создадим primary-раздел на жестком диске размером 100 Mb.

Еще раз щелкнем правой кнопкой мыши на разделе CreatePartitions и выберем Insert New CreatePartition.

Для второго раздела укажем Order равный 2, для Size зададим значение 61440, и в поле Type также выберем Primary.

amd64_Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

Теперь второй раздел на жестком диске компьютера будет также primary-разделом и размер его будет равным 60 Gb.

Теперь щелкнем правой кнопкой мыши на разделе ModifyPartitions и выберем Insert New ModifyPartition.

Insert New ModifyPartition

В качестве параметров для появившегося подраздела ModifyPartition укажем:

Active = true

Format = NTFS

Label = System

Order = 1

PartitionID = 1

Таким образом мы зададим, что первый раздел жесткого диска компьютера (PartitionID = 1) будет обработан первым (Order = 1), отформатирован в NTFS (Format = NTFS), получит метку System (Label = System) и будет помечен как активный (Active = true).

amd64_Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

Добавим еще один подраздел ModifyPartition и зададим следующие настройки для второго раздела жесткого диска:

Format = NTFS

Order = 2

PartitionID = 2

amd64_Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

Теперь нам нужно добавить к нашему файлу ответов еще один набор параметров, находящийся под amd64_Microsoft-Windows-Setup. В поле Windows Image щелкаем правой кнопкой мыши на WindowsDeploymentServices и выбираем Add Setting to Pass 1 windowsPE.

amd64_Microsoft-Windows-Setup\WindowsDeploymentServices

В поле Answer File развернем WindowsDeploymentServices, развернем ImageSelection и выберем InstallImage.

В поле параметров для ImageGroup введем название группы, где находится установочный образ, а в поле ImageName введем имя самого образа.

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

ImageGroupWindows 7 (x64)

ImageNameWindows 7 Professional (x64)

amd64_Microsoft-Windows-Setup\WindowsDeploymentServices\ImageSelection\InstallImage

Выделим пункт InstallTo и в поля DiskID и PartitionID введем соответственно номер диска и номер раздела, куда мы будем устанавливать операционную систему. В нашем случае DiskID = 0, а PartitionID = 2.

amd64_Microsoft-Windows-Setup\WindowsDeploymentServices\ImageSelection\InstallTo

Развернем раздел Login и выберем Credentials. Сюда мы введем учетные данные пользователя, от имени которого будет происходить установка операционной системы. Этот пользователь должен будет обладать правом доступа к серверу WDS для загрузки образа операционной системы (в конфигурации по умолчанию это может сделать любой пользователь домена). Также, возможно, ему понадобятся права на сброс пароля компьютера в Active Directory, но об этом позже.

В нашем случае это будет пользователь wdsuser@domain.com.

amd64_Microsoft-Windows-Setup\WindowsDeploymentServices\Login\Credentials

Щелкнем по пункту меню Tools и выберем Validate Answer File.

Validate Answer File

Если проверка не выявит никаких ошибок, о чем будет свидетельствовать запись в поле Messages, сохраним его под именем wdsclient.xml.

wdsclient.xml

Скопируем наш файл ответов на сервер WDS в папку D:\WDS\WdsClientUnattend.

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

Данный файл ответов создается для автоматизации оставшихся фаз установки и отличается для операционных систем Windows 7 и Windows XP. Начнем с Windows 7.

Файл ответов установочного образа Windows 7 (Windows 7 image unattend file).

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

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

В System Image Manager создадим новый файл ответов путем выбора File и New Answer File…, а также укажем уже использовавшийся нами при создании предыдущего файла ответов wim-файл, содержащий образ операционной системы, выбрав FileSelect Windows Image. В открывшемся диалоговом окне выберем Windows 7 PROFESSIONAL.

New Answer File

В поле Windows Image раскроем список Components и щелкнем правой кнопкой мыши на amd64_Microsoft-Windows-Shell-Setup и выберем Add Setting to Pass 4 specialize.

amd64_Microsoft-Windows-Shell-Setup

В поле Answer File развернем добавленный набор параметров и удалим все содержащиеся в нем подразделы. Выберем добавленный раздел и в поле справа укажем следующие параметры:

ComputerName%machinename%

ProductKey – ключ продукта

RegisteredOwner – владелец копии операционной системы

RegisteredOrganization – организация, в которой используется данная копия.

Задавая переменную %machinename% в качестве значения для параметра ComputerName мы указываем, что имя компьютера будет браться из предварительно созданной для него учетной записи в Active Directory.

Нужно сказать, что при добавлении компьютера в домен с  использованием метода Unsecure Join, о чем чуть позже, значение параметра ComputerName игнорируется, и вполне может отсутствовать в файле ответов, так как в данном случае имя компьютера будет соответствовать имени его учетной записи вне зависимости от указанного значения.

При использовании же метода Secure Join, одним из требований является наличие значения %machinename% для этого параметра. Поэтому независимо от используемого метода имеет смысл сразу установить его в %machinename%.

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

amd64_Microsoft-Windows-Shell-Setup

Существует два метода ввода компьютера в домен при помощи файлов ответов – Unsecure Join и Secure Join.

При использовании метода Secure Join, т.е. безопасный ввод компьютера в домен, учетные данные для выполнения этой операции указываются в файле ответов. При использовании же Unsecure Join, т.е. небезопасный ввод компьютера в домен, пароль компьютера сбрасывается в определенное значение в конце фазы Windows Preinstallation Environment, она же WinPE. Делается это от имени учетной записи, указанной в файле ответов клиента WDS.

При установке Windows 7 – это автоматически сгенерированный сервером WDS пароль, который передается на добавляемый компьютер в секции файла ответов.

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

Если у пользователя нет прав на сброс пароля компьютера, то в случае Windows XP это может сделать администратор, щелкнув правой кнопкой мыши на объекте компьютера в Active Directory Users and Computers и выбрав в контекстном меню команду Reset Account. Сделано это должно быть до завершения фазы основной установки операционной системы. Так как в случае Windows 7 пароль генерируется сервером WDS, данный метод неприменим для установки этой операционной системы.

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

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

С другой стороны, свое слабое место есть и у этого метода. В частности это касается установки Windows XP. Так как пароль учетной записи компьютера при сбросе устанавливается в значение, соответствующее имени компьютера, злоумышленник может этим воспользоваться в период времени между сбросом пароля в конце фазы WinPE, и добавлением компьютера в домен в конце основной установки операционной системы.

Для использования метода Secure Join должны быть соблюдены следующие условия:

значение параметра UnsecureJoin в секции amd64_Microsoft-Windows-UnattendedJoin\Identification группы specialize должно быть false;

в этой же секции, в качестве значения для параметра JoinDomain должно быть указано имя домена, к которому добавляется компьютер;

в секции amd64_Microsoft-Windows-UnattendedJoin\Identification\Credentials должны быть указаны имя, домен и пароль учетной записи, от имени которой будет происходить добавление компьютера;

переменная ComputerName секции amd64_Microsoft-Windows-Shell-Setup группы specialize должна содержать значение %machinename%, в данном случае имя компьютера будет взято из его учетной записи в Active Directory. Соответственно, сама секция тоже должна существовать.

Для использования метода Unsecure Join требуется только то, чтобы значение переменной UnsecureJoin секции amd64_Microsoft-Windows-UnattendedJoin группы specialize содержало значение true.

Его мы и будем использовать. Отметим, что сброс пароля в нашем случае будет происходить от имени пользователя wdsuser@domain.com, учетные данные которого указаны в файле ответов wdsclient.xml.

Добавим раздел amd64_Microsoft-Windows-UnattendedJoin в группу specialize.

amd64_Microsoft-Windows-UnattendedJoin

В поле Answer File развернем добавленный раздел, развернем содержащийся в нем подраздел Identification и удалим его дочерние подразделы Credentials и Provisioning. Выберем подраздел Identification и в поле параметров в строке UnsecureJoin укажем true.

amd64_Microsoft-Windows-UnattendedJoin\Identification

Теперь нам нужно добавить несколько наборов параметров в группу oobeSystem.

В поле Windows Image щелкнем правой кнопкой на разделе amd64_Microsoft-Windows-International-Core и выберем Add Setting to Pass 7 oobeSystem.

amd64_Microsoft-Windows-International-Core

Для содержащихся в нем параметров укажем следующие значения:

InputLocaleen-us; ru-ru

SystemLocaleru-ru

UILanguageru-ru

UserLocaleru-ru

amd64_Microsoft-Windows-International-Core

Параметр InputLocale указывает устанавливаемые языки ввода и их очередность.

SystemLocale указывает язык по умолчанию для программ, не поддерживающих Unicode.

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

UserLocale указывает формат отображения дат, времени, денежных единиц и чисел.

Также нам понадобятся некоторые настройки из раздела amd64_Microsoft-Windows-Shell-Setup.

Развернем этот раздел в поле Windows Image, щелкнем правой кнопкой на подразделе OOBE и выберем Add Setting to Pass 7 oobeSystem.

amd64_Microsoft-Windows-Shell-Setup\OOBE

Сначала выберем раздел amd64_Microsoft-Windows-Shell-Setup и для параметра TimeZone зададим значение Russian Standard Time.

Этим значением мы задаем часовой пояс (UTC+04:00) Волгоград, Москва, Санкт-Петербург.

amd64_Microsoft-Windows-Shell-Setup

Теперь выберем подраздел OOBE и укажем следующие настройки:

HideEULAPagetrue

NetworkLocationWork

ProtectYourPC3

Установив значение параметра HideEULAPage в true, мы указываем, что процесс принятия лицензионного соглашения во время установки будет пропущен.

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

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

Параметр ProtectYourPC отвечает на вопрос операционной системы о режиме работы Windows Update.

В качестве значения можно указать один из трех вариантов.

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

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

amd64_Microsoft-Windows-Shell-Setup\OOBE

Далее мы добавим еще один подраздел группы параметров amd64_Microsoft-Windows-Shell-SetupUserAccounts. Щелкнем на нем правой кнопкой мыши и выберем Add Setting to Pass 7 oobeSystem.

amd64_Microsoft-Windows-Shell-Setup\UserAccounts

В поле Answer File развернем UserAccounts и удалим два из трех содержащихся в нем подразделов – AdministratorPassword и DomainAccounts.

Щелкнем правой кнопкой мыши на подразделе LocalAccounts и выберем Insert New LocalAccount.

Insert New LocalAccount

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

Выберем созданный подраздел LocalAccount и введем следующие значения:

Groupadministrators

Nameadmin

amd64_Microsoft-Windows-Shell-Setup\UserAccounts\LocalAccounts\LocalAccount

Развернем подраздел LocalAccount и выберем его дочерний раздел Password.

В поле Value введем пароль для создаваемой учетной записи.

amd64_Microsoft-Windows-Shell-Setup\UserAccounts\LocalAccounts\LocalAccount\Password

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

Кроме того, стоит установить параметр Hide Sensitive Data в меню Tools программы System Image Manager. Установка данного параметра позволит скрыть такие данные, как пароль для встроенной учетной записи администратора, настройка которого производится в удаленном нами подразделе AdministratorPassword, а также пароли для добавляемых локальных учетных записей. Установка данного параметра никак не влияет на пароли к создаваемым доменным учетным записям, настроить которые можно в подразделе DomainAccounts.

Hide Sensitive Data

Нужно отметить, что параметр Hide Sensitive Data только скрывает пароли учетных записей, превращая их неудобочитаемый текст, но никоим образом не шифрует их, так что стоит уделить внимание безопасности файлов ответов, содержащих подобную информацию.

Если впоследствии мы откроем файл ответов, при сохранении которого был установлен параметр Hide Sensitive Data, то в поле Value мы увидим следующую строку:

Data Hided

Как и в случае с предыдущим файлом ответов, щелкнем по пункту меню Tools и выберем Validate Answer File. В случае отсутствия ошибок сохраним файл под именем image-windows-7.xml и скопируем его в специально созданную для целей хранения файлов ответов папку на сервере WDS, например, D:\ImageUnattendFiles.

image-windows-7.xml

Теперь перейдем к Windows XP.

Файл ответов установочного образа Windows XP (Windows XP image unattend file).

Создать данный файл мы можем при помощи мастера Setup Manager.

Для этого нужно зайти в папку support\tools дистрибутивного диска Windows XP, извлечь содержимое находящегося в ней файла deploy.cab в отдельную папку на жестком диске компьютера и дважды щелкнуть на файле setupmgr.exe. Откроется приветственное окно мастера. Нажмем Next.

Welcome to Setup Manager

На странице New or Existing Answer File выберем Create new.

New or Existing Answer File

На странице Type of Setup выберем Sysprep setup.

Type of Setup

В качестве продукта укажем Windows XP Professional.

Product

На странице License Agreement укажем Yes, fully automate installation. Данный вариант дает нам возможность пропустить принятие лицензионного соглашения в процессе установки.

License Agreement

На странице Name and Organization введем имя и организацию владельца копии операционной системы.

Name and Organization

На странице Display Settings оставим значения по умолчанию.

Display Settings

На странице Time Zone выберем часовой пояс.

Time Zone

На странице Product Key введем ключ продукта.

Product Key

На странице Computer Name введем %machinename%. При указании данного значения имя компьютера будет браться из созданной для него учетной записи Active Directory.

Computer Name

На странице Administrator Password укажем пароль администратора.

Administrator Password

На странице Networking Components выберем Typical settings.

Networking Components

На странице Workgroup or Domain выберем пункт Domain и в поле справа от него укажем %machinedomain%. Задав в качестве доменного имени эту переменную мы указываем, что имя домена, к которому будет присоединен компьютер будет соответствовать домену его учетной записи в Active Directory.

Если бы мы использовали безопасный тип ввода компьютера в домен, то есть Secure Join, здесь нужно было бы указать учетные данные пользователя, обладающего правом ввода компьютера в домен, установив галочку Create a computer account in the domain, и введя имя и пароль пользователя в соответствующие поля.

Несмотря на то, что галочка называется Create a computer account in the domain (Создать учетную запись компьютера в домене), она так же подходит и для подобного сценария, когда объект компьютера уже создан в Active Directory и нам нужно лишь сопоставить с ним сам компьютер.

Как и в случае с Windows 7, здесь мы тоже будем использовать небезопасный тип введения компьютера в домен, то есть Unsecure Join, и поэтому не будем указывать какие либо учетные данные.

Workgroup or Domain

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

На странице Telephony оставим значения по умолчанию.

Telephony

На странице Regional Settings мы указываем языковые параметры, такие как SystemLocale, UserLocale и InputLocale. Выберем пункт Specify regional settings in the answer file и в выпадающем меню Use the default values for the following language укажем значение Русский.

Regional Settings

Также мы имеем возможность задать каждое из этих значений по отдельности. Для этого нужно поставить галочку Customize the default regional settings и нажать кнопку Custom…

Перейдем к следующему окну. Здесь в списке Language groups выделим языковую группу Кириллица.

Languages

В следующих окнах, Install Printers, Run Once, Additional Commands и Identification String оставим значения по умолчанию.

Выберем место сохранения файла. В качестве имени укажем sysprep.inf.

Save

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

Completing Setup Manager

Созданный нами файл будет выглядеть следующим образом:

;SetupMgrTag
[Unattended]
OemSkipEula=Yes
InstallFilesPath=C:\sysprep\i386

[GuiUnattended]
AdminPassword=»password»
EncryptedAdminPassword=NO
OEMSkipRegional=1
TimeZone=145
OemSkipWelcome=1

[UserData]
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
FullName=»Owner»
OrgName=»Organization»
ComputerName=%machinename%

[RegionalSettings]
LanguageGroup=5
Language=00000419

[SetupMgr]
DistFolder=C:\sysprep\i386
DistShare=windist

[Identification]
JoinDomain=%machinedomain%

[Networking]
InstallDefaultComponents=Yes

Как уже говорилось, для ввода компьютера в домен, используя метод Unsecure Join, нам нужно внести в файл некоторые правки, а именно добавить в раздел [Identification] строку DoOldStyleDomainJoin = Yes.

Также требованием для метода Unsecure Join является наличие в файле sysprep.inf секций [Networking] и [UserData]. Нужно отметить, что требуется только наличие этих секций, содержимое же их может отсутствовать. В нашем случае эти требования соблюдены.

Итоговый файл будет выглядеть так:

;SetupMgrTag
[Unattended]
OemSkipEula=Yes
InstallFilesPath=C:\sysprep\i386

[GuiUnattended]
AdminPassword=»password»
EncryptedAdminPassword=NO
OEMSkipRegional=1
TimeZone=145
OemSkipWelcome=1

[UserData]
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
FullName=»Owner»
OrgName=»Organization»
ComputerName=%machinename%

[RegionalSettings]
LanguageGroup=5
Language=00000419

[SetupMgr]
DistFolder=C:\sysprep\i386
DistShare=windist

[Identification]
JoinDomain=%machinedomain%
DoOldStyleDomainJoin = Yes

[Networking]
InstallDefaultComponents=Yes

Скопируем его на сервер WDS в ранее созданную нами папку D:\ImageUnattendFiles.

В данной статье

мы рассмотрели создание файлов ответов для автоматизации установки операционных систем средставми WDS. Мы создали файл ответов клиента WDS, Windows Deployment Services client unattend file, для автоматизации процессов, происходящих в фазе WinPE, а также файлы ответов установочного образа, image unattend files, для автоматизации оставшихся фаз установки операционных систем Windows 7 и Windows XP.

Первую часть этого цикла статей вы можете найти здесь:
Автоматизация установки клиентских операционных систем при помощи Windows Deployment Services. Часть I. Установка.


Страницы в социальных сетях:

Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell


Один ответ на “Автоматизация установки клиентских операционных систем при помощи Windows Deployment Services. Часть II. Создание файлов ответов.

  1. Сергей 10 марта, 2015 / 17:20

    Спасибо за подробную инструкцию. Есть правда вещи, которые остались для меня загадкой:
    1)»В случае отсутствия ошибок сохраним файл под именем image-windows-7.xml и скопируем его в специально созданную для целей хранения файлов ответов папку на сервере WDS, например, D:\ImageUnattendFiles.»
    нужно скопировать в ту же папку, что и предыдущий файл ответов (WdsClientUnattend) или это отдельная папка? (я пихнул в отдельную, созданную ручками)
    2) после всего проделанного при загрузке пользовательской машины по PXE нет возможности УСТАНОВКИ образа, есть выбор только из «Образы загрузки», т.е. «Capture (x64)» и «Boot (x64)», которые при из выборе предлагают снять образ windows, как в первой части инструкции. Поэтому вопрос: как сделать чтобы был выбор Install images, а не Boot images?

    • Сергей Васин 11 марта, 2015 / 11:03

      К моему сожалению, я так и не успел доделать третью часть серии статей, посвященных Windows Deployment Services в Windows Server 2008 R2 до того, как вышел Windows Server 2012. Хотя большая часть информации все же актуальна, некоторые диалоговый настройки и элементы конфигурации все же отличаются.
      Что касается ваших вопросов: Файл ответов клиента WDS (windows deployments services client unattend file), о котором говорилось в первой половине поста должен находится в подпапке WdsClientUnattend каталога Windows Deployment Services, в статье это каталог D:\WDS, но в вашем случае он может называться и по-другому. И в статье мы положили его то место где он и должен находиться.
      Но файл ответов установочного образа (image unattend file) — в статье это image-windows-7.xml — мы только создали и то, что в статье предлагается положить его в папку D:\ImageUnattendFiles — это только для того, чтобы потом можно было его оттуда взять и положить уже в нужное место. Это может быть любая удобная вам папка, и она никак не будет использоваться при реальном развертывании образов операционных систем. Для того, чтобы он использовался при установке, файл ответов установочных образов должен находиться в подкаталоге Images\Имя_группы_образов\Имя_файла_образа_без_расширения\Unattend\
      папки Windows Deployment Services и называться ImageUnattend.xml. Однако вы можете выбрать нужный файл ответов через окно свойств образа установки (install image), поставив галочку Allow image to install in unattended mode и выбрав файл, нажав на кнопку Select File. В этом случае служба WDS сама скопирует его в нужное место. В статье это была бы так: D:\WDS\Images\Windows 7 (x64)\Имя_файла_образа_без_расширения\Unattend\ImageUnattend.xml.
      Что касается второго вопроса: Так и есть, в фазе PXE предлагается выбор загрузочных образов (boot images). Выбор же установочных образов (install images) осуществляется следующим образом: если у вас есть файл ответов клиента WDS (windows deployments services client unattend file), находящийся в подпапке WdsClientUnattend, то имена группы образов и самого установочного образа берутся из него. Если файл ответов клиента WDS не используется, то после загрузки boot image вас спросят логин и пароль пользователя от имени которого вы подключаетесь к серверу WDS, и если этот пользователь имеет необходимый уровень доступа, то высвечивается окно со списком существующих на сервере установочных образов (install images).
      Чтобы файл ответов клиента WDS (windows deployments services client unattend file) использовался при установке, можно воспользоваться одним из способов. Первый это указать нужный файл в свойствах сервера WDS на вкладке Client, установив галочку Enable unattended installation и выбрав нужный файл для определенной архитектуры. Однако в этом случае, все компьютеры этой архитектуры будут получать одни и те же настройки, естественно из тех, что указаны в файле ответов клиента WDS. Файла ответов установочного образа мы здесь не касаемся. Второй способ — это предсоздать (prestage) объект компьютера в Active Directory с указанием атрибутов, относящихся к выбору загрузочного образа (boot image) и выбора файла ответов клиента WDS. Если кратко, для этого используется команда wdsutil /Add-Device либо вы можете создать объект компьютера через оснастку Active Directory Users and Computer на сервере WDS. Последнее важно — так как при создании объекта компьютера на контроллере домена вы не увидите дополнительных окон, касающихся конфигурации автоматизированной установки. Лично мне использование wdsutil кажется более удобным из за большего количества настроек.
      Касаемо вашего случая — Capture Image и должен предлагать снять образ, однако Boot Image должен либо использовать файл установки для выбора Install Image, либо спросить это у вас. Если ваш Boot-образ также предлагает вам снять образо какого-либо компьютера, это означает, что на самом деле он тоже переделан в Capture, независимо от того как он называется в списке выбора. В этом случае можно его удалить и импортировать новый Boot-образ с диска с операционной системой или iso-файла.

      • Сергей 11 марта, 2015 / 16:02

        Огромное спасибо за подробный ответ и инструкцию! Вы мне очень помогли. =)

  2. Alexey Kalinin (@kaliha) 17 марта, 2015 / 13:21

    Прочитал оба текста, но так и не получилось завести автоматическую установку windows server 2012. Можно с автором выйти на связь?

      • Стас 6 февраля, 2016 / 21:04

        Приветствую, Хотелось бы получить ответы на следующие вопросы. Для меня осталось загадкой как сделать так что бы имя компьютера прописать в метку и как сделать что бы оно запрашивалось неред тем как начать заливать образ, спрашивало переразмечать ли диск или просто отфармотировать диск С:. В файле ответов это всё статическое, а хотелось бы не много интерактива. И если можно хотелось бы прочитать как можно создать загрузочный образ со своим интерфейсом если есть такая статья киньте в меня ссылкой. Спасибо

  3. Алексей 18 мая, 2015 / 05:35

    А как к установке добавить драйвера?

    • Сергей Васин 25 мая, 2015 / 11:44

      Это можно сделать, используя компонент Microsoft-Windows-PnpCustomizationsNonWinPE в фазе «2 offline Servicing» (или «5 audit System», но для системных устройств это несколько поздно).
      Тажке их можно добавить в образ заранее при помощи dism.exe /Add-Driver или через командлет PowerShell Add-WindowsDriver.

  4. Игорь 24 мая, 2015 / 17:12

    Добрый день!
    Отличная статья. Спасибо ОГРОМНОЕ!!!

  5. Игорь 24 мая, 2015 / 17:31

    Можно ли через файл ответов задать IP-адрес прокси-сервера в Internet Explorer?

    • Сергей Васин 25 мая, 2015 / 11:27

      Это можно сделать через компонент Microsoft-Windows-IE-ClientNetworkProtocolImplementation в фазе «7 Oobe System», но, как написано в хелпе, для того, чтобы настройки IP-адреса прокси применились, нужно установить настройку групповой политики Computer Configuration -> Administrative Templates -> Windows Components -> Internet Explorer -> «Make proxy settings per-machine (rather than per-user)» в значение Enabled. Это приведет к тому, чтоб настройки прокси-сервера будут одинаковыми для всех пользователей компьютера.
      Кроме того, адрес прокси можно задать в групповой политике для пользователя: User Configuration -> Preferences -> Control Panel Settings -> Internet Settings.

  6. volt 25 июля, 2015 / 22:54

    Спасибо дорогой! Всё разжёвано и положено в рот.Спасибо.

  7. Vladimir 9 сентября, 2015 / 19:43

    Здравствуйте!!!! Подскажите возможно ли, сделать так, чтоб при установке windows 7 можно было вводить в домен. На этапе установки,,,,

    • Сергей Васин 10 сентября, 2015 / 12:16

      Можно. Нужные настройки в Windows System Image Manager находятся в Microsoft-Windows-UnattendedJoin.
      В зависимости от метода, возможно, потребуется заранее создать объект компьютера в Active Directory. Это можно сделать командой wdsutil /Add-Device на сервере WDS.

      • Vladimir 10 сентября, 2015 / 12:25

        Уточню вопрос, заранее ничего сделать нельзя у нас it компания доменов куча, хочется чтоб при установке выскакивала форма для заполнения, домен и логин пароль….

      • Сергей Васин 24 сентября, 2015 / 13:13

        Тогда вам стоить обратить внимание на Microsoft Deployment Toolkit. Его можно считать следующей инкарнацией технологии развертывания операционных систем Windows.
        Для начальной загрузки он так же может использовать и WDS. Его можно интегрировать с System Center Configuration Manager, а можно использовать отдельно — в частности при использовании метода Lite Touch.
        Microsoft Deployment Toolkit:
        https://www.microsoft.com/en-us/download/details.aspx?id=48595
        Документация на Technet:
        https://technet.microsoft.com/en-us/library/dn781292.aspx

Оставьте комментарий