Коллеги, приветствую!
В этой статье мы поговорим про автоматизацию развертывания служб удаленных рабочих столов при помощи Vagrant и Powershell DSC. Сегодня мы с вами применим в нашем тестовой песочнице простой сценарий развертывания служб удаленных рабочих столов на основе сеансов — Быстрый старт.
Использование этого типа развертывания подразумевает установку ключевых компонентов RDS на один узел. В нашей лаборатории будет развернуто 3 виртуальных машины.
Перед началом
Перед тем как продолжить, очень рекомендую ознакомиться с необходимыми для развертывания компонентами. В предыдущих частях описаны действия по установке необходимого ПО на которых будет основана текущая и будущие подобные статьи.
Моделирование и описание песочницы
В этот раз наша лаборатория будет состоять из 3-х узлов:
- lab-dc1.party.hard — контроллер домена.
- lab-rds1.party.hard — член домена, RDS узел (установлены роли Session Host, WebAccess, Connection Broker).
- lab-client1.party.hard — член домена.
Готовимся к развертыванию
Конфигурация песочницы
Клонируем репозиторий проекта при помощи git.
git clone https://github.com/mdcowse/vagrant-sandboxie
Либо скачиваем zip архив проекта.
https://github.com/mdcowse/vagrant-sandboxie/archive/master.zip
Описание структуры проекта
Рассмотрим структуру папок и файлов и определим назначение интересующих нас объектов (указаны только те, которые понадобятся при развертывании служб RDS).
vagrant-sandboxie │ README.md │ ├───RDS_1.0 │ Vagrantfile │ └───provision ConfigureRebootOnNode.ps1 DSCConfigureDFS.ps1 DSCInstallDHCP.ps1 DSCInstallDomain.ps1 DSCJoinDomain.ps1 PreDSCInstall.ps1 DSCInstallRDS.ps1 DSCConfigureRDSDeployment.ps1 DSCConfigureRDS.ps1
- vagrant-sandboxie — Корневая папка лаборатории (задается произвольно).
- RDS_1.0 — папка нашего проекта. Цифра 1.0 определяет сценарий, который мы будем использовать в этой статье.
- Vagrantfile — файл с указаниями по разворачиванию виртуальных машин.
- provision — папка, где будут лежать сценарии DSC (будут использоваться для конфигурации виртуальных машин).
Ниже определим назначение сценариев .ps1
- ConfigureRebootOnNode.ps1 — конфигурирует перезапуск хоста, если это необходимо.
- DSCInstallDHCP.ps1 — устанавливает роль DHCP, RSAT-DHCP, авторизует DHCP сервер в AD после установки и конфигурирует область.
- DSCInstallDomain.ps1 — устанавливает роль AD DS, RSAT-ADDS, конфигурирует домен PARTY.HARD.
- DSCJoinDomain.ps1 — добавляет хост в домен Active Directory.
- PreDSCInstall.ps1 — устанавливает необходимые для работы модули DSC.
- DSCInstallRDS.ps1 — устанавливает роли RDS (Sessin Host, Connection Broker, Web Access).
- DSCConfigureRDSDeployment — создает развертывание RDS.
- DSCConfigureRDS.ps1 — настраивает развертывание RDS (конфигурация коллекции).
Разворачиваем песочницу
Постановка задач
В процессе развертывания мы с вами выполним:
- Установку служб RDS.
- Настройку развертывания удаленных рабочих столов на основе сеансов (тип развертывания — Быстрый старт).
- Конфигурацию простой коллекции (все роли будут развернуты на одном узле).
- Проверку работоспособности сценария песочницы.
Приступаем
Открываем папку нашего проекта (RDS_1.0), кликаем правой кнопкой мыши на пустом месте и выбираем пункт Открыть Powershell здесь, либо Открыть командную строку здесь и Выполняем команду:
vagrant up
Теперь занимаемся своими делами, ждем когда завершится процесс, ведь в этом суть автоматизации. 🙂 Напоминаю, что скорость выполнения сильно зависит от производительности вашей системы.
Проверяем результаты
Песочница готова, теперь предлагаю проверить действительно ли нам удалось развернуть то, что мы хотели. На выбор есть несколько вариантов подключения. Через менеджер виртуальных машин VirtualBox, либо через RDP подключение. В этот раз воспользуемся менеджером VirtualBox.
Попробуем войти в систему на виртуальной машине lab-rds1.party.hard.
Для входа в систему воспользуемся логином — party\administrator и паролем — vagrant.
Для начала посмотрим как прошло развертывание на основе удаленных рабочих столов.
Теперь узнаем подробнее о ролях и каким хостам они назначены.
Теперь предлагаю посмотреть подробнее о коллекции.
Теперь проверим работу компонента Web Access.
Для этого введем в адресной строке браузера:
https://lab-rds1.party.hard/RDWeb/ и попробуем указать уже известные нам учетные данные.
Итоги
Коллеги, сегодня мы рассмотрели несложный сценарий развертывания служб RDS. Нам удалось выполнить все поставленные задачи в этой статьи. Теперь в нашем распоряжении есть маленькая песочница из 3-х узлов, а также готовое развертывание RDS, которое мы можем использовать для тестирования или изучения работы различных компонентов и сценариев.