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

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

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

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

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

Копируем имя компонента и приступаем к установке.
Install-WindowsFeature -Name AD-Domain-Services
Windows Admin Center:

Переходим в «Роли и компоненты» и выбираем ADDS (Active Directory Domain Services).
И это буквально всё. Управлять Active Directory через Windows Admin Center на текущий момент невозможно. Его упоминание не более чем напоминание о том, насколько он пока что бесполезен.
Повышаем сервер до контроллера домена
А для этого создаем новый лес.
RSAT или локальный серверс GUI:


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

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

Install-ADDSForest -DomainName test.domain -SafeModeAdministratorPassword $pass
Как и в установке через GUI, даже вывод в консоль один и тот же. В отличие от сервера с GUI, как установка роли, так и установка сервера в качестве контроллера домена не требует перезагрузки.
Установка контроллера с помощью RSAT занимает больше времени, чем через Powershell.
Управляем доменом
Теперь, чтобы понять насколько сильно различается управление Active Directory через Powershell и AD AC (Active Directory Administrative Center), рассмотрим пару рабочих примеров.
Создание нового пользователя
Скажем, мы хотим создать пользователя в группе Users и хотим чтобы он сам установил себе пароль. Через AD AC это выглядит так:


New-ADUser -Name BackdoorAdmin -UserPrincipalName BackdoorAdmin@test
Get-ADUser BackdoorAdmin
Отличий между AD DC и Powershell никаких.
Включить пользователя
RSAT или локальный серверс GUI:

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

Через Powershell почти тоже самое, только пользователя можно сделать активным даже без пароля.
Set-ADUser -Identity BackdoorAdmin -Enabled $true -PasswordNotRequired $true
Добавляем пользователя в группу
RSAT или локальный серверс GUI:

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

Если мы не знаем как называется нужная нам группа, получить их список мы можем с помощью:
(Get-ADGroup -Server localhost -Filter *).name
Получить группу со всеми свойствами можно так:

Get-ADGroup -Server localhost -Filter {Name -Like "Administrators"}
Ну и наконец добавляем пользователя в группу:

Далее, из-за того, что в 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 в ядре, как никак.
Надеемся, статья была полезна или интересна.
Ну и напоследок пару дельных советов:
- Не устанавливайте других ролей на контроллер домена.
- Используйте BPA (Best practice analyzer), чтобы чуточку ускорить контроллер
- Не используйте встроенного Enterprice Admin’а, всегда используйте свою собственную учетную запись.
- При развертывании сервера на белом IP адресе, с проброшенными портами или на VSD обязательно закройте 389 порт, иначе вы станете точкой амплификации DDoS атак.
Предлагаем также прочитать наши прошлые посты: рассказ как мы готовим клиентские виртуальные машины на примере нашего тарифа VDS Ultralight с Server Core за 99 рублей, как работать с Windows Server 2019 Core и как установить на него GUI, а также как управлять сервером с помощью Windows Admin Center, как установить Exchange 2019 на Windows Server Core 2019
Автор: ultra_vds