Разворачиваем Active Directory всеми возможными методами

Одним из реально полезных нововведений в Windows Server 2019 является возможность вводить серверы, не делая Sysprep или чистую установку.  Развернуть инфраструктуру на виртуальных серверах с Windows Server никогда еще не было так просто.

2d6a7dd1364612bc80a2cbafde0a390f.png


Сегодня поговорим о том, насколько же, оказывается, просто устанавливать и управлять Active Directory через Powershell.

Устанавливаем роль


RSAT или локальный сервер с GUI:

b8322e25be5cc99eedf6ca97a4cc11ee.png


Сначала нужно добавить сервер в RSAT. Добавляется он на главной странице с помощью доменного имени или ip адреса. Убедитесь, что вы вводите логин в формате local\Administrator, иначе сервер не примет пароль.

eefbada18a5c07383bf053b0aeebb806.png


Переходим в добавление компонентов и выбираем AD DS.

Powershell:

e44b1a0c133fb2aeda212c5df2eaef60.png


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

Get-WindowsFeature


faef023e04c4ecfd855a47a01ef771c8.png


Копируем имя компонента и приступаем к установке.

Install-WindowsFeature -Name AD-Domain-Services


Windows Admin Center:

bbe5f00b224a5590bed0a70959e1e433.png


Переходим в «Роли и компоненты» и выбираем  ADDS (Active Directory Domain Services). 

И это буквально всё. Управлять Active Directory через Windows Admin Center на текущий момент невозможно. Его упоминание не более чем напоминание о том, насколько он пока что бесполезен.

Повышаем сервер до контроллера домена


А для этого создаем новый лес.

RSAT или локальный серверс GUI:

d7ba90fdefdc5f95f8e839d596bb5b7a.png


f69a50cf40c3de1a457a62b1e1a7d26e.png


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

Powershell:

Сначала нужно создать лес и установить пароль от него. В Powershell для паролей есть отдельный тип переменной — SecureString, он используется для безопасного хранения пароля в оперативной памяти и безопасной его передачи по сети. 

a8d7b66e1f1487312d192a673b693d11.png
$pass = Read-Host -AsSecureString


Любой командлет который использует чей угодно пароль нужно вводит таким образом. Сначала записываем пароль в SecureString, а затем указываем эту переменную в командлет.

63a1a011ada1b518348e1c5d1ddeb141.png
Install-ADDSForest -DomainName test.domain -SafeModeAdministratorPassword $pass


Как и в установке через GUI, даже вывод в консоль один и тот же. В отличие от сервера с GUI, как установка роли, так и установка сервера в качестве контроллера домена не требует перезагрузки.

Установка контроллера с помощью RSAT занимает больше времени, чем через Powershell.

Управляем доменом


Теперь, чтобы понять насколько сильно различается управление Active Directory через Powershell и AD AC (Active Directory Administrative Center), рассмотрим пару рабочих примеров.

Создание нового пользователя


Скажем, мы хотим создать пользователя в группе Users и хотим чтобы он сам установил себе пароль. Через AD AC это выглядит так:

a0c0f23573268e3de39bfd94f88b1c0f.png


e75c5b51b89a2c0bde5fd8881bb7b610.png
New-ADUser -Name BackdoorAdmin -UserPrincipalName BackdoorAdmin@test
Get-ADUser BackdoorAdmin


Отличий между AD DC и Powershell никаких.

Включить пользователя


RSAT или локальный серверс GUI:

ec86c84c7ad0ef14c6143b0cecf26818.png


Через GUI пользователю нужно сначала задать пароль отвечающий GPO и только после этого его можно будет включить.

Powershell:

35d28ce673ed90bbbd3dabda7d752a85.png

 
Через Powershell почти тоже самое, только пользователя можно сделать активным даже без пароля.

Set-ADUser -Identity BackdoorAdmin -Enabled $true -PasswordNotRequired $true


Добавляем пользователя в группу


RSAT или локальный серверс GUI:

7a230409dff0aa15fbabddb25e54c017.png


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

Powershell:

599613f383d7dc2b5c5dac19bbebf025.png


Если мы не знаем как называется нужная нам группа, получить их список мы можем с помощью:
 

(Get-ADGroup -Server localhost -Filter *).name


Получить группу со всеми свойствами можно так:

a1e928a81eabed3be6655eda141c755e.png
Get-ADGroup -Server localhost -Filter {Name -Like "Administrators"}


Ну и наконец добавляем пользователя в группу:

9cf28c7525a9d5b527530b4778d3d52a.png


Далее, из-за того, что в Powershell все является объектами, мы как и через AD DC должны сначала получить группу пользователя, а затем добавить его в неё.

$user = Get-ADUser BackdoorAdmin


Затем добавляем этот объект в группу:

Get-ADGroup -Server localhost -Filter {Name -Like "Administrators"} | Add-ADGroupMember -Members $user


И проверяем:

Get-ADGroupMember -Identity Administrators


Как видим, отличий в управлении AD через AD AC и Powershell почти нет.

Вывод:


Если вы уже сталкивались с развертыванием AD и других служб, то вы, возможно подмечали сходство развертывания через RSAT и Powershell, и насколько на самом деле все похоже. GUI в ядре, как никак.

Надеемся, статья была полезна или интересна.

Ну и напоследок пару дельных советов:

  1. Не устанавливайте других ролей на контроллер домена.
  2. Используйте BPA (Best practice analyzer), чтобы чуточку ускорить контроллер
  3. Не используйте встроенного Enterprice Admin«а, всегда используйте свою собственную учетную запись.
  4. При развертывании сервера на белом IP адресе, с проброшенными портами или на VSD обязательно закройте 389 порт, иначе вы станете точкой амплификации DDoS атак.

Предлагаем также прочитать наши прошлые посты: рассказ как мы готовим клиентские виртуальные машины на примере нашего тарифа VDS Ultralight с Server Core за 99 рублей, как работать с Windows Server 2019 Core и как установить на него GUI, а также как управлять сервером с помощью Windows Admin Center, как установить Exchange 2019 на Windows Server Core 2019

fy_ygawz3qa9h28otrjzuvit7uw.jpeg

© Habrahabr.ru