Хабрахабр

Установка Windows через Windows Deployment Services и Microsoft Deployment Toolkit

Как было написано в одной умной книге — если в вашем IT-отделе нет автоматизированной установки операционной системы, то её создание может быть самой важной задачей, которую вы когда-либо выполняли.
Для работы MDT необходимо:

  • WDS
  • Windows ADK
  • PowerShell
  • .net Framework
  • DHCP

План

Добавление роли Windows Deployment Services (WDS) на сервер

На сервере включаем роль WDS.

Загрузка и установка на сервер необходимых компонентов

С официального сайта скачиваем и устанавливаем Windows Assessment and Deployment Kit (ADK):
1) Download the Windows ADK for Windows 10, version 1809 (возможно, новее)
2) Download the Windows PE add-on for the ADK

Отмечаем для установки:

  • Deployment Tools
  • Imaging And Configuration Designer
  • Configuration Designer
  • User State Migration Tools

Также скачиваем и устанавливаем Microsoft Deployment Toolkit (MDT)

Запуск и настройка WDS

Открываем консоль WDS

Запускаем конфигурирование.

В мастере настройки выбираем интеграцию с доменом.

Задаем служебную папку WDS.

На следующем шаге можно выбрать каким компьютерам будет отвечать сервер WDS:

  • Никому не отвечать — можно отключить работу сервера на время настройки или тестирования, например, чтобы пользователи не получали возможные конфликты при установке.
  • Отвечать только известным компьютерам — список составляется в консоли и если записи адреса компьютера нет, то он не получит возможность работать с сервером.
  • Отвечать всем клиентам — ответ получат все компьютеры. Если установить галку ниже, то при обращении неизвестных устройств (не записанных ранее) в консоли появится запись, что некий компьютер с определенным адресом запрашивает подключение. Можно отклонить или принять и процесс продолжится. Позже эти настройки можно изменить в консоли WDS.

Имеем следующую структуру папок: Завершаем процесс первоначальной настройки.

WDS нам понадобится только для подключения и передачи образов, поэтому без подробного объяснения:

Install Images — установочные образы (не используем);
Boot Images — загрузочные образы (добавим созданные в MDT);
Pending Devices — появляются устройства запрашивающие соединение если включена опция «требуется подтверждение администратора».

Запуск и настройка MDT

Для настройки MDT запускаем его консоль. Microsoft Deployment Toolkit -> Deployment Workbench.

В ней будут храниться все файлы для установки. Добавляем новую DeploymentShare.

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

На завершающем этапе будет запущен процесс создания который должен пройти успешно.

Отключение и подключение осуществляется в консоли MDT. Общая папка E:\DeploymentShare$ может переноситься на другие сервера простым копированием.

(.cab и .msu);
Task Sequences — последовательность задач установки;
Selection Profiles — логические группы объединения контента;
Linked Deployment Shares — другие подключенные DeploymentShare с других серверов;
Monitoring — при включенной опции отображается ход выполнения установки на клиентах. Applications — приложения которые устанавливаются на операционную систему;
Operating Systems — операционные системы доступные для загрузочного образа;
Out-of-Box Drivers — драйвера (.inf);
Packages — пакеты обновлений безопасности, сервисные, языковые и т.д.

На вкладке General можно выбрать для каких платформ создавать .wim файлы с которых позже можно будет загружаться. Открываем свойства нашей шары MDT Deployment Share.

В самом окне отображается текст файла .\Control\CustomSettings.ini, а под кнопкой Edit Bootstrap.ini файл .\Control\Bootstrap.ini.
CustomSettings.ini — находится на сервере и скрывает шаги меню установки, а также определяет некоторые параметры установки.
Bootstrap.ini — находится в загрузочном образе и определяет параметры для подключения к DeploymentShare. На вкладке Rules настраиваются конфигурационные файлы автоматизации MDT.

.\Control\CustomSettings.ini

OSInstall=Y //установить операционную систему
JoinDomain=alx*.com //ввести в этот домен
DomainAdmin=alx - имя пользователя используемого для присоединения
DomainAdminDomain=alx*.com //домен пользователя
DomainAdminPassword= //пароль пользователя
AdminPassword= //пароль локального администратора на новой машине
HideShell=YES //скрыть Shell
SkipUserData=NO //пропустить шаг о решении сохранности пользовательских данных (если установка производится поверх существующей системы)
TimeZoneName=N. Central Asia Standard Time //временная зона
SkipTimeZone=YES //пропустить выбор временной зоны
UILanguage=ru-RU //выбор языка интерфейса
UserLocale=ru-RU //выбор местоположения
SkipLocaleSelection=YES //пропустить выбор месторасположения
SystemLocale=ru-RU //выбор языка для non-Unicode программ
SkipCapture=YES //пропустить захват установленной операционной системы
SkipComputerName=NO //пропустить ввод имени компьютера
SkipDomainMembership=YES //пропустить членство в домене
SkipAdminPassword=YES //пропустить пароль администратора
SkipProductKey=YES //пропустить ввод лицензионного ключа
SkipComputerBackup=YES //пропустить выполнение резервного копирования
SkipBitLocker=YES //пропустить настройку шифрования BitLocker
SkipSummary=YES //пропустить страницу с выводом результирующих настроек
EventService=http://SRV04:9800 //установить сервер назначения для логов

Список временных зон

.\Control\Bootstrap.ini

[Settings]
Priority=Default
[Default]
DeployRoot=\\SRV04\DeploymentShare$
UserID=alx //имя пользователя для доступа к папкам Deployment Share
UserDomain=alx*.com //домен пользователя
UserPassword= //пароль пользователя
KeyboardLocale=en-US //выбор языка
SkipBDDWelcome=YES //пропустить начальную страницу установщика

На вкладке Windows PE настраивается создание загрузочных образов. Можно отключить на первой вкладке создание .wim файла, но выбрать на третьей .iso файл, если он нам нужен. Сейчас оставил только платформу x64. Второй пункт Generate a Lite Touch bootable ISO image понадобится, если нам необходим загрузочный ISO файл который мы могли бы записать на флешку или диск и загрузиться с него. Scratch space size — размер памяти в мегабайтах выделяемой для скриптов и команд установщика.

На вкладке Drivers and Patches лучше выбрать созданный специально для загрузочного образа Selection profile с сетевыми драйверами.
На следующей вкладке Monitoring включаем опцию чтобы он начал принимать логи от клиентов во время установки и отображать статус в папке Monitoring. На вкладке Features можем добавить какие-либо компоненты в загрузочный образ.

В соответствии со своей политикой безопасности добавляем разрешения на чтение каталога DeploymentShare$ и на этом простая настройка MDT закончена.

Импорт приложений

В контекстном меню папки Applications выбираем пункт New Application.

Добавим Google Chrome.

Указываем, где программа находится и выбираем опцию чтобы всё содержимое было перемещено в новую папку. Скачиваем Standalone Enterprise на 64 бита и сохраняем в отдельную временную папку, например, E:\Soft.

Далее составляем команду для тихой установки этого приложения и заполняем соответствующее поле.

По аналогии добавляем весь нужный нам софт.

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

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

Если для приложения нужны какие-то дополнительные установки, то тут указывается их порядок. На последней вкладке Dependencies указываются зависимости. Софт, указанный в списке, должен быть импортирован заранее. Только после установки зависимостей установится основное приложение.

Импорт установочных образов

В папку Operating Systems добавляем операционную систему. У меня имеется .wim файл с Windows 10 Pro x64.

Почему .wim?

Поэтому приходится с выходом новой версии скачивать актуальную Windows 10 и с помощью MSMG ToolKit вычищать предустановленное… программы. Лицензий на LTSC нет, только Pro. На выходе получается .iso с вложенным .wim.

Переименовываем в более удобный вид.

Импорт драйверов

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

Отдельно стоит выделить драйвера для сетевых карт и дисков для загрузочного образа с помощью Selection Profiles. Целесообразно создавать подпапки для разделения производителей и моделей компьютерного оборудования.

Импорт пакетов

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

Создание задач

Task Sequences — это последовательность задач для установки. Можно добавлять, удалять или изменять шаги установки. На первой странице при добавлении задается ID и название.

Выбирается шаблон.

Выбор операционной системы из добавленных ранее.

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

Вводим имя пользователя и название организации.

Пароль будущего локального администратора.

После создания можно аналогично просматривать её свойства и вносить изменения.

Последовательность необходимо изменять под свои нужды. На вкладке Task Sequence описан весь процесс выполнения установки.

по умолчанию после установки она отключена. Для примера я добавлю скрипт включающий возможность подключиться по RDP т.к.

В папке .\Scripts\Custom создан скрипт на PowerShell Enable_RDP.ps1:

(Get-WmiObject Win32_TerminalServiceSetting -Namespace root\cimv2\TerminalServices).SetAllowTsConnections(1,1)
(Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\TerminalServices -Filter "TerminalName='RDP-tcp'").SetUserAuthenticationRequired(1)
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

Далее выбираем желаемое место в этом порядке и добавляем новый пункт.

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

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

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

Обновление DeploymentShare необходимо выполнять после:

  • обновления загрузочных драйверов (сетевых карт и дисковых накопителей);
  • добавления компонентов в загрузочный образ;
  • изменения параметров загрузочного образа;
  • обновления версии Windows ADK;
  • изменения Bootrstrap.ini;
  • изменения файлов «экстра»-директорий.

Переходим в консоль WDS и в папку Boot Images добавляем созданный загрузочный образ. WDS скопирует этот образ в свой рабочий каталог.

Тестирование

Настраиваем на тестовом компьютере загрузку по сети. Сервер WDS определяется автоматически. По умолчанию, компьютер ожидает нажатия F12 для продолжения загрузки. Эта настройка меняется в свойствах сервера WDS на вкладке Boot.

Выбираем доступный Task Sequences. Большинство настроек было определено в конфигурационных файлах, остается заполнить недостающие.

Задаем имя компьютера.

У нас чистая установка, поэтому оставим как есть. Данная настройка позволяет сохранить профили пользователей.

Можно и восстановить откуда-либо.

Выбираем необходимый софт.

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

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

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

Явные плюсы автоматизации:

  • Экономия своего времени. Во время установки можем заниматься интересными делами.
  • Единообразие устанавливаемых систем.
  • Меньше время ожидания, чем это делалось бы вручную.
  • Возможность менять отдельные элементы при изменениях, а не пересобирать образ целиком.

Полная официальная документация MDT

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть