Погодин Евгений — ИТ Заметки
🖥️Windows Server Обновлено 04.11.2026

Windows Server с нуля 03. Active Directory: что это и как создать домен

Note

Материал сверен с официальной документацией (Microsoft Learn и др.; ссылки — в конце статьи). Примеры вывода — иллюстрации: на вашем сервере значения и формат могут отличаться. Перед работой на боевом сервере проверьте шаги на тестовой машине.

Пока компьютеры живут сами по себе, у каждого свой список учётных записей: сотрудника заводят на каждом ПК, пароль меняют на каждом. Active Directory (AD) устроена иначе: учётные записи, компьютеры и группы хранятся в общем каталоге на контроллерах домена, а остальные компьютеры спрашивают у них, кто входит и что ему разрешено. Для клиентской Windows это одна учётная запись на все компьютеры и настройки, которые администратор раздаёт групповыми политиками, а не правит на каждом ПК.

Рабочая группа Домен Active Directory
Учётные записи на каждом компьютере свои в общем каталоге на контроллерах домена
Вход на тот компьютер, где есть запись на любой компьютер домена
Настройки правятся на каждом ПК групповые политики на весь домен
DNS (Domain Name System, система доменных имён) нужен для выхода в сеть обязателен для работы самого домена

Мы разберём устройство AD, выберем имя и уровень домена, создадим домен lab.example на DC1, настроим время, добавим DC2, введём в домен PC1 и научимся управлять серверами с него.

Что нужно знать заранее

Команды рассчитаны на Windows PowerShell 5.1 (на сервере он есть по умолчанию).

Warning

Адреса и имена серии учебные: сеть 192.168.10.0/24, внешний DNS 192.0.2.53, источник времени 192.0.2.123; в своей сети подставьте свои значения. Повышение сервера до контроллера домена нельзя просто отменить: откат контрольной точкой возможен только до повышения. Выполняйте шаги на тестовых виртуальных машинах (ВМ).

Что такое Active Directory

AD DS (Active Directory Domain Services, «доменные службы Active Directory») — роль сервера, которая делает его хранилищем каталога: иерархической базы сведений об объектах сети (пользователях, компьютерах, группах, принтерах, общих ресурсах). Для входа используется Kerberos (протокол проверки подлинности с выдачей «билетов»), для запросов к каталогу — LDAP (протокол доступа к каталогам).

Логическая структура

  • Лес (forest) — верхний контейнер: один или несколько доменов с общей схемой, общей конфигурацией (сайты и репликация) и общим глобальным каталогом. Домены леса автоматически связаны двусторонними транзитивными доверительными отношениями.
  • Домен (domain) — раздел леса: единая база учётных записей, которую хранят контроллеры домена. Домены с общим пространством имён (lab.example и дочерний msk.lab.example) образуют дерево.
  • Подразделение (OU, organizational unit) — контейнер внутри домена. В OU собирают объекты, чтобы применить к ним групповые политики или передать управление помощнику; подробно — Windows Server с нуля 05.
  • Схема — набор правил: какие бывают классы объектов и атрибутов, какие у них ограничения и как формируются имена.

Физическая структура

  • Контроллер домена (domain controller, DC) — сервер с ролью AD DS и копией каталога. Все контроллеры равноправны: изменение можно внести на любом, и оно реплицируется на остальные.
  • Файлы каталога. База хранится в файле NTDS.DIT вместе с журналами. Общая папка SYSVOL содержит файлы групповых политик и сценарии входа; между контроллерами её реплицирует DFSR (Distributed File System Replication, репликация DFS).
  • Сайт (site) — логическая группа IP-подсетей с хорошей связью. При повышении контроллер относится к сайту по своей подсети (если сайт один, мастер выберет его сам). Первый сайт называется Default-First-Site-Name.
  • Глобальный каталог (global catalog, GC) — роль контроллера: он хранит частичную копию каждого объекта леса, поэтому поиск идёт по всему лесу. Эту роль и DNS рекомендуется включать на всех контроллерах: так домен переживает отказ одного из них.

Роли FSMO

Репликация «все со всеми» плохо подходит для редких операций, где конфликт недопустим. Их выполняет только один контроллер, хозяин роли FSMO (Flexible Single Master Operations). Ролей пять, две на лес и три на домен.

Роль Уровень За что отвечает
Schema master лес изменения схемы
Domain naming master лес добавление и удаление доменов
RID master домен выдаёт контроллерам пулы RID (relative ID, относительных идентификаторов): из них строятся SID (security identifier, идентификатор безопасности) новых объектов
PDC emulator домен «эмулятор основного контроллера домена» (Primary Domain Controller): пароли, блокировки учётных записей, эталон времени
Infrastructure master домен обновляет ссылки на объекты других доменов

Все пять ролей автоматически получает первый контроллер домена и леса. Позже их можно передать (старые статьи по Windows Server 2012: перенос роли хозяина операций, захват роли FSMO). PDC emulator корня леса служит эталоном времени для всего леса, PDC emulator каждого домена — для своего. Время настроим после создания домена.

Планирование домена

Имя домена

У домена два имени: DNS-имя (lab.example) и короткое NetBIOS-имя (LAB, до 15 символов; по умолчанию это левая метка DNS-имени). Войти можно как LAB\ivanov. Имя выбирают один раз и надолго:

  • имя корня леса не может быть однокомпонентным: lab мастер не примет, нужно lab.example;
  • имя не должно совпадать с внешним: если сайт компании живёт на example.com, лес с таким именем создавать нельзя. Подойдёт поддомен зарегистрированного вами домена, например ad.example.com;
  • не берите .local и другие имена, занятые специальными функциями интернет-стандартов, а также .com, .net и подобные;
  • избегайте названий существующих компаний, аббревиатур и подчёркиваний.

Функциональный уровень

Функциональный уровень (functional level) домена и леса определяет, какие возможности AD доступны и какие версии Windows Server допускаются на контроллерах. На клиентов и серверы-члены он не влияет. Уровень домена может быть выше уровня леса, но не ниже.

Версия ОС контроллера Уровень 2025 Уровень 2016
Windows Server 2025 да да
Windows Server 2022, 2019, 2016 нет да

В Windows Server 2025 появился собственный уровень, нужный для необязательных 32k-страниц базы данных. У Windows Server 2022 и 2019 своего уровня нет, их предел — 2016. Контроллер Windows Server 2025 на уровне 2012 R2 не работает, поэтому новый лес на таком сервере получит уровень не ниже 2016.

Задавайте самое высокое значение, которое выдержит ваша среда. По умолчанию уровень обычно соответствует версии ОС (так сказано в описании Install-ADDSForest); точное значение мастер покажет на странице параметров контроллера, а после создания его покажет Get-ADForest. Если в лесу будут контроллеры 2022 или 2019, задайте уровень 2016 явно: -ForestMode WinThreshold -DomainMode WinThreshold. Повышают уровень отдельно (Set-ADForestMode, Set-ADDomainMode), после резервных копий контроллеров.

Пути к данным

По умолчанию база и журналы лежат в %SYSTEMROOT%\NTDS, а SYSVOL — в %SYSTEMROOT%\SYSVOL. В лаборатории оставьте как есть. В рабочей сети их можно вынести на отдельный том, но не на ReFS (Resilient File System): документация прямо предупреждает, что хранить на таком томе базу, журналы и SYSVOL нельзя.

Что подготовить

  1. Сервер. Имя DC1, статический адрес, верное время. Kerberos чувствителен к расхождению часов: по умолчанию допускается пять минут.
  2. Пароль Administrator. При создании леса встроенная учётная запись Administrator первого контроллера становится доменной. Задайте ей надёжный пароль до начала и сохраните в менеджере паролей.
  3. Назначение. Не ставьте на контроллер прикладное ПО: он хранит все учётные записи домена. DNS и DHCP по плану серии будут на контроллерах; нюансы — в Windows Server с нуля 07.
  4. Контрольная точка. Точка 02-ready-for-ad из Windows Server с нуля 02 уже есть (если нет, на хосте Hyper-V: Checkpoint-VM -Name 'DC1' -SnapshotName '02-ready-for-ad'). Откат до повышения: Restore-VMSnapshot -Name '02-ready-for-ad' -VMName 'DC1'. Контрольные точки (снимки) ВМ годятся для лаборатории и для рядовых серверов и клиентов перед опасным шагом; для контроллеров домена откат снимком в боевой сети не применяется, вместо него резервная копия состояния системы (Windows Server с нуля 11). Когда DC1 станет контроллером, к точке не возвращайтесь.

Практика 1: создаём домен lab.example

Команды выполняйте в PowerShell от имени администратора на DC1, пока под локальным Administrator.

Шаг 1. Устанавливаем роль

Install-WindowsFeature -Name AD-Domain-Services `
    -IncludeManagementTools

Параметр -IncludeManagementTools ставит консоли и командлеты AD: без него управляющие средства не устанавливаются. Перезагрузка не нужна. Пример вывода (формат приблизительный):

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        {Active Directory Domain Servic...

Шаг 2. Готовим DNS и проверяем готовность

После Windows Server с нуля 02 на адаптере DC1 указан внешний DNS (учебный 192.0.2.53). Если работающего DNS-сервера на адаптере нет, сбросьте список адресов и добавляйте параметр -NoDnsOnNetwork к Test-ADDSForestInstallation и Install-ADDSForest: документация описывает его для случая, когда на адаптере DNS-сервер не задан:

Set-DnsClientServerAddress -InterfaceAlias 'Ethernet' -ResetServerAddresses

Временно указать адрес самого DC1 тоже можно, но в документации это не описано. После создания леса мастер сам пропишет 127.0.0.1 предпочитаемым DNS-сервером (так сказано в описании Install-ADDSForest); про пересылку документация молчит, проверим её в Windows Server с нуля 04. Откат: Set-DnsClientServerAddress ... -ServerAddresses '192.0.2.53'.

Теперь предварительная проверка:

Test-ADDSForestInstallation -DomainName 'lab.example' `
    -DomainNetbiosName 'LAB'

Командлет ничего не меняет и запросит пароль DSRM. DSRM (Directory Services Restore Mode, режим восстановления служб каталогов) нужен, чтобы войти на контроллер, когда служба AD DS не запущена, например при восстановлении. Это отдельный пароль: не пустой и соответствующий политике паролей (одна страница документации требует только непустого значения, другая — сложности по правилам домена). Задайте сложный пароль, отличный от пароля Administrator, и храните отдельно.

Введите пароль дважды и прочитайте сообщения. Ошибки исправьте. Предупреждение о невозможности создать делегирование DNS ожидаемо: родительской зоны example в вашей сети нет, а откладывать из-за него установку не нужно.

Шаг 3. Создаём лес

$forest = @{
    DomainName        = 'lab.example'
    DomainNetbiosName = 'LAB'
    InstallDns        = $true
}
Install-ADDSForest @forest

Команда снова спросит пароль DSRM и подтверждение операции (Y). Пароль в команду не вписывайте: открытый пароль в скрипте позволяет выдать себя за контроллер. Затем сервер сам перезагрузится, не прерывайте процесс.

Параметр Что задаёт По умолчанию
-DomainName DNS-имя корневого домена обязателен
-DomainNetbiosName NetBIOS-имя, до 15 символов левая метка DNS-имени
-ForestMode, -DomainMode функциональные уровни обычно как у версии ОС
-InstallDns установить DNS-сервер $true для нового леса
-DatabasePath, -LogPath база и журналы %SYSTEMROOT%\NTDS
-SysvolPath папка SYSVOL %SYSTEMROOT%\SYSVOL
-NoRebootOnCompletion не перезагружать сервер перезагружается; параметр нужен только для тестов

Мастер в Диспетчере серверов делает то же самое: ссылка Promote this server to a domain controller (в русском интерфейсе подпись может отличаться), затем «Добавить новый лес». Кнопка «Просмотреть сценарий» на странице «Параметры проверки» покажет готовую команду PowerShell.

Tip

Если повышение завершилось ошибкой, смотрите журналы %SYSTEMROOT%\debug\dcpromo.log и dcpromoui.log; до повышения откатывает точка 02-ready-for-ad.

Шаг 4. Входим и заводим личную учётную запись

После перезагрузки войдите как LAB\Administrator: пароль тот же, что был у локального Administrator. Заведите личную учётную запись администратора (о пользователях — Windows Server с нуля 05):

$pw = Read-Host -Prompt 'Пароль' -AsSecureString
New-ADUser -Name 'admin-lab' -SamAccountName 'admin-lab' `
    -AccountPassword $pw -Enabled $true
Add-ADGroupMember -Identity 'Domain Admins' -Members 'admin-lab'

В русскоязычной ОС группа называется «Администраторы домена», и это имя подставляется в -Identity. Пароль должен удовлетворять политике паролей. admin-lab — отдельная запись администратора, не для почты и браузера: в лаборатории для краткости мы работаем под ней и на PC1, а в рабочей сети администрируют с отдельной станции, и у администратора есть вторая, обычная запись. Встроенный Administrator держите на крайний случай.

Кто чем может

Группа Domain Admins покрывает обычное администрирование. Часть операций требует больше:

Группа Для чего Статьи серии
Domain Admins пользователи, компьютеры, политики, повышение дополнительных контроллеров почти везде
Enterprise Admins операции уровня леса, например новые домены; авторизация DHCP-сервера в AD; включение корзины AD, если не хватает прав 07, 05
Schema Admins изменение схемы AD, в том числе схема LAPS 12

Если команда отвечает «Отказано в доступе», не добавляйте admin-lab в эти группы навсегда: добавьте на время (если прав admin-lab не хватает, под встроенным LAB\Administrator), перезайдите, выполните операцию, затем уберите и перезайдите снова:

Add-ADGroupMember -Identity 'Enterprise Admins' -Members 'admin-lab'
Remove-ADGroupMember -Identity 'Enterprise Admins' -Members 'admin-lab'

Перезаходить нужно потому, что членство в группах записывается в билет Kerberos при входе. Для Schema Admins порядок тот же. В русскоязычной ОС эти группы называются «Администраторы предприятия» и «Администраторы схемы».

Практика 2: проверяем результат и настраиваем время

Войдите на DC1 как LAB\admin-lab.

1. Домен и лес. Свойства DomainMode, PDCEmulator и другие показывают уровни и хозяев ролей:

Get-ADDomain | Format-List DNSRoot, NetBIOSName, DomainMode,
    PDCEmulator, RIDMaster, InfrastructureMaster
Get-ADForest | Format-List ForestMode, SchemaMaster,
    DomainNamingMaster, GlobalCatalogs, Sites

Пример вывода (значения вымышленные):

DNSRoot              : lab.example
NetBIOSName          : LAB
DomainMode           : Windows2025Domain
PDCEmulator          : DC1.lab.example
RIDMaster            : DC1.lab.example
InfrastructureMaster : DC1.lab.example

ForestMode           : Windows2025Forest
SchemaMaster         : DC1.lab.example
DomainNamingMaster   : DC1.lab.example
GlobalCatalogs       : {DC1.lab.example}
Sites                : {Default-First-Site-Name}

Список хозяев ролей выводит и команда netdom query fsmo.

2. Диагностика. Параметр /q у dcdiag оставляет только сообщения об ошибках: пустой вывод значит, что в проверках по умолчанию ошибок нет (DNS dcdiag проверяет отдельно, см. Windows Server с нуля 04). Если сразу после перезагрузки есть ошибки, повторите через несколько минут.

dcdiag /q

3. Общие папки. Должны существовать SYSVOL и NETLOGON:

Get-SmbShare | Where-Object Name -in 'SYSVOL', 'NETLOGON'

4. SRV-записи DNS. SRV-запись (service record, запись о местонахождении службы) подсказывает клиентам, где искать контроллер:

nslookup -type=SRV _ldap._tcp.dc._msdcs.lab.example

Пример вывода (формат приблизительный):

Server:  localhost
Address:  127.0.0.1

_ldap._tcp.dc._msdcs.lab.example  SRV service location:
          priority       = 0
          weight         = 100
          port           = 389
          svr hostname   = dc1.lab.example
dc1.lab.example  internet address = 192.168.10.11

Время в домене

Время настраивают один раз, на эмуляторе PDC корня леса: он эталон для всего леса, а остальные компьютеры берут время у контроллеров по иерархии домена. В нашем лесу это DC1; команды выполняйте на нём. Если DC1 — ВМ Hyper-V, сначала отключите ей синхронизацию времени с хостом (Integration Services, Time synchronization; шаг в Windows Server с нуля 02): для виртуальных контроллеров это рекомендуется, иначе часы будут ориентироваться и на хост, а не только на домен. Источник 192.0.2.123 учебный: подставьте свой NTP-сервер (UDP 123 должен быть доступен).

w32tm /config /manualpeerlist:192.0.2.123 /syncfromflags:manual `
    /reliable:yes /update
w32tm /resync
w32tm /query /status
w32tm /monitor

Параметр /reliable:yes имеет смысл только на контроллерах. w32tm /query /status показывает состояние службы времени, а w32tm /monitor проверяет её на контроллерах домена. Вернуть синхронизацию по иерархии домена можно командой w32tm /config /syncfromflags:domhier /update. Дополнение — старая статья про время в домене (она писалась для Windows Server 2012).

Когда проверки и время в порядке, удалите точку на хосте Hyper-V: Remove-VMSnapshot -VMName 'DC1' -Name '02-ready-for-ad'. Документация советует не держать снимки виртуальных контроллеров. То же сделайте с точкой DC2 после его повышения.

Второй контроллер DC2

Единственный контроллер — единая точка отказа: когда он недоступен, в домен не войти, а DNS домена молчит.

Подготовьте DC2 по шагам Windows Server с нуля 02: имя, адрес 192.168.10.12, контрольная точка перед повышением. DNS временно укажите на DC1, чтобы сервер нашёл домен; имя адаптера смотрите в Get-NetAdapter.

Set-DnsClientServerAddress -InterfaceAlias 'Ethernet' `
    -ServerAddresses '192.168.10.11'
Install-WindowsFeature -Name AD-Domain-Services `
    -IncludeManagementTools
$dc = @{
    DomainName = 'lab.example'
    InstallDns = $true
    Credential = (Get-Credential 'LAB\admin-lab')
}
Install-ADDSDomainController @dc

Учётная запись должна входить в Domain Admins. Команда запросит пароль DSRM для DC2 и перезагрузит сервер. Глобальным каталогом контроллер становится по умолчанию, единственный сайт выбирается автоматически. Копировать диск DC1 нельзя: получится USN rollback. Поддерживаемое клонирование возможно только с подготовленным образом (отдельная процедура), поэтому для обучения мы повышаем новый сервер.

После перезагрузки проверьте репликацию: repadmin /replsummary показывает сводку по контроллерам, читайте в ней столбцы с числом сбоев и кодом ошибки (у repadmin нет актуальной страницы документации). Затем снова выполните dcdiag /q. Какие DNS-серверы указывать самим контроллерам, когда их стало два, объясняет Windows Server с нуля 04.

Вводим компьютеры в домен

Требования к клиенту: Windows 11 Pro, Enterprise, Pro Education или Pro для рабочих станций (Home в домен не вводится), локальные права администратора и DNS-серверы, указывающие на контроллеры. Адрес PC1 до Windows Server с нуля 07 выдаёт DHCP-сервер вашей сети (обычно роутер) или вы задаёте его вручную; DNS пока указываем вручную:

Set-DnsClientServerAddress -InterfaceAlias 'Ethernet' `
    -ServerAddresses '192.168.10.11', '192.168.10.12'
Resolve-DnsName -Name _ldap._tcp.dc._msdcs.lab.example -Type SRV

В ответе на вторую команду должны быть оба контроллера. Теперь введите компьютер в домен:

Add-Computer -DomainName 'lab.example' `
    -Credential (Get-Credential 'LAB\admin-lab') -Restart

Графический путь: «Параметры», «Учётные записи», «Доступ к рабочим или учебным заведениям», «Подключить», «Присоединить это устройство к локальному домену Active Directory». Параметр -OUPath команды Add-Computer позволяет сразу выбрать подразделение; без него компьютер попадёт в контейнер Computers.

После перезагрузки войдите как LAB\admin-lab (на экране входа выберите другого пользователя) и проверьте результат на PC1:

PS C:\Users\admin-lab> whoami
lab\admin-lab
PS C:\Users\admin-lab> Test-ComputerSecureChannel
True

True означает, что защищённый канал с доменом работает. На DC1 проверьте, что компьютер появился в каталоге: Get-ADComputer -Identity 'PC1'.

Так же введите в домен PC2, FS1 и WSUS1: DNS по таблице из Windows Server с нуля 04, затем Add-Computer. Эти ВМ описаны в таблице «Стенд целиком» в Windows Server с нуля 02. Перенос компьютеров в OU и пользователи ivanov и petrova — в Windows Server с нуля 05.

Управление серверами с PC1

PC1 можно сделать станцией администратора. Условия: PC1 в домене, RSAT установлены (Windows Server с нуля 01), вы вошли как LAB\admin-lab, а удалённое управление PowerShell на серверах включено по умолчанию (Windows Server с нуля 02).

  1. В Диспетчере серверов выберите Manage, затем Add Servers (в русском интерфейсе «Управление», «Добавить серверы»), на вкладке Active Directory отметьте DC2 и FS1 и нажмите OK.
  2. В PowerShell откройте сеанс на сервере, выполните команду на нескольких серверах сразу или опросите службу без сеанса:
Enter-PSSession -ComputerName FS1
Get-Service -Name W32Time
Exit-PSSession
Invoke-Command -ComputerName DC1, DC2 -ScriptBlock {
    Get-Service -Name NTDS, Netlogon
}
Get-Service -ComputerName FS1 -Name W32Time

Параметр -ComputerName у Get-Service в Windows PowerShell 5.1 не использует удалённое управление PowerShell, поэтому работает и без него; при сетевой ошибке пользуйтесь Invoke-Command, он идёт через WinRM.

Типичные ошибки и недоразумения

  • Домен не находится при вводе компьютера. Почти всегда у клиента в DNS указан роутер или внешний сервер, который не знает lab.example. Проверьте ipconfig /all. Не забудьте и про редакцию: Home в домен не вводится.
  • Расхождение времени. При разнице часов больше пяти минут Kerberos откажет во входе.
  • «The trust relationship between this workstation and the primary domain failed». Пароль учётной записи компьютера рассинхронизирован. Выполните Test-ComputerSecureChannel -Repair -Credential (Get-Credential) или переведите компьютер в рабочую группу и введите в домен заново.
  • Домен .local или lab. Первый внутренним доменом не стоит делать, второй мастер не создаст.
  • Откат или копия ВМ контроллера. Снимок возвращает базу в прошлое, USN (Update Sequence Number, порядковые номера обновлений) повторяются: партнёры считают изменения уже полученными, и репликация перестаёт сходиться, часто без явных ошибок. На гипервизорах с VM-GenerationID (идентификатор, который гипервизор меняет при откате или копировании ВМ; Windows Server 2012 и новее, Hyper-V) AD DS замечает смену этого идентификатора и защищается от USN rollback, но документация всё равно советует не использовать снимки виртуальных контроллеров, а делать резервную копию.
  • Удаление контроллера выключением ВМ. В каталоге остаются метаданные несуществующего сервера. Сначала понизьте контроллер (Uninstall-ADDSDomainController или мастер); при принудительном удалении сразу очистите метаданные (старая статья про удаление контроллера домена).
  • Потерян пароль DSRM или Administrator. Запишите оба пароля в менеджер паролей сразу после создания леса.

Проверьте себя

  1. Что объединяет домены одного леса? Общие схема, конфигурация (сайты и репликация) и глобальный каталог; между доменами автоматически создаются двусторонние транзитивные доверительные отношения.
  2. Почему домены corp.local и corp не подходят? Имена вроде .local заняты специальными функциями интернет-стандартов, их советуют избегать; однокомпонентное имя корня леса мастер не примет. Лучше поддомен зарегистрированного вами домена.
  3. Чей пароль станет паролем доменного Administrator и зачем нужен пароль DSRM? Пароль локального Administrator первого контроллера. DSRM-пароль нужен, чтобы войти на контроллер, когда служба AD DS не запущена.
  4. Какими командами ставят роль и создают новый лес, и как проверить готовность заранее? Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools и Install-ADDSForest -DomainName ...; предварительную проверку выполняет Test-ADDSForestInstallation.
  5. Почему контроллер нельзя откатывать снимком ВМ вместо резервной копии? Без VM-GenerationID откат даёт USN rollback: репликация перестаёт сходиться. С ним откат обнаруживается, но документация советует не использовать снимки виртуальных контроллеров, поэтому в боевой сети нужна резервная копия.

Что дальше

Источники

Ещё по теме «Windows Server»