Задача: Нужно проработать процесс миграции домена на базе Windows Server 2008 R2 на Windows Server 2016
От моего коллеги по работе поступила задумка, а реально ли смигрировать текущий домен контроллер на базе Windows Server 2008 R2 Enterprise на систему с осью Windows Server 2016 Standard, в итоге новый контроллер домена будет обладать повышенными возможностями по управлению инфраструктурой. Да и пора уже избавиться от железной составляющей текущего домена на переход под Hyper-V система виртуализации которой используется в организации где я сейчас работаю.
Данная задача прорабатывается под Virtulbox основной системы Ubuntu 18.04 Desktop amd64 ноутбука Lenovo E555
Исходные данные:
- srv-dc1.polygon.local (на базе Windows Server 2008 R2 Enterprise) с ролями: AD DC,DHCP,DNS
- IP address: 10.90.90.2/24
C:\Users\Administrator>netsh firewall set icmpsetting 8 enable
- Login: ekzorchik
- Pass: 712mbddr@
- Group: Domain Admins, Schema Admins, Enterprise Admins
C:\Windows\system32>netdom query fsmo
Schema master srv-dc1.polygon.local
Domain naming master srv-dc1.polygon.local
PDC srv-dc1.polygon.local
RID pool manager srv-dc1.polygon.local
Infrastructure master srv-dc1.polygon.local
The command completed successfully.
srv-dc2.polygon.local (на базе Windows Server 2016) пока без ролей
IP address: 10.90.90.3/24
C:\Users\Администратор>netsh firewall set icmpsetting 8 enable
Шаг №1: Авторизуюсь под локальной учетной записью “Администратор” на srv-dc2. Ввожу данную систему в домен polygon.local.
Win + R → control.exe → Система – “Изменить параметры” – вкладка “Имя компьютера” окна “Свойства системы” нажимаю “Изменить“, отмечаю галочкой “Является членом“: Домена и указываю домен: polygon.local, затем нажимаю кнопку “ОК“.
[stextbox id=’alert’]
На заметку: Не забудьте в настройках сетевой карты хоста srv-dc2 указать DNS сервер системы srv-dc1 иначе получите ошибку: “При запросе DNS записи ресурса размещения службы (SRV), используемой для нахождения контроллера домена Active Directory для домена “polygon.local“, произошла ошибка:
Произошла ошибка: “Для локальной системы не настроено ни одного DNS-сервера.””
[/stextbox]
Итак, DNS-сервер прописан в свойствах сетевого адаптера, при попытке ввода системы в домен понадобится знание учетных данных обладающих правами “Администраторы Домена (Domain Admins) или обладающих правами делегированных. Авторизую систему для присоединения к домену
- Имя пользователя: ekzorchik
- Пароль: 712mbddr@
и нажимаю “ОК” окна “Безопасность Windows“, обязательно Вы должны увидеть окно: “Добро пожаловать в домен polygon.local“. Перезагружаю систему для активации изменений, затем нажимаю сочетание клавиш “Ctrl + Alt + Del” и авторизуюсь в системе также под учетной записью входящей в группы которые есть в учетной записи ezkorchik если у Вас она отличается.
Шаг №2: Делаю систему srv-dc2 контроллером домена:
Win + R → control.exe или Win + X → “Панель управления” – “Администрирование” — “Диспетчер серверов” – “Панель мониторинга” – “Добавить роли и компоненты” – “Установка ролей или компонентов” – Выберите сервер из пула серверов: srv-dc1.polygon.local — отмечаю галочкой роль “Доменные службы Active Directory” – нажимаю “Добавить компоненты” – “Далее” – “Далее” – отмечаю галочкой “Автоматический перезапуск конечного сервера, если требуется” и нажимаю “Установить“.
Теперь настройка устанавливаемых компонент:
Win + R → control.exe или Win + X → “Панель управления” – “Администрирование” — “Диспетчер серверов” – “AD DS“:
“Доменные службы Active Directory — требуется настройка на srv-dc2” → нажимаю “Подробнее” – “Повысить роль этого сервера до уровня контроллера домена“. Операцию развертывания выбираю:
“Добавить контроллер домена в существующий домен”
- Домен: “polygon.local“
Для выполнения этой операции введите учетные данные: нажимаю “Изменить“, т. к. сейчас подставлены svr-dc2\Администратор (текущий пользователь) и указываю:
- Логин: ekzorchik
- Пароль: 712mbddr@
и нажимаю “ОК“, потом “Далее” окна “Мастер настройки доменных служб Active Directory“. Параметры контроллера домена оставляю дефолтными (это отмеченные галочкой DNS-сервер, Глобальный каталог (GC)), но обязательно нужно указать пароль для режима восстановления служб каталогов (DSRM):
- Пароль: 712bmddr@
- Подтверждение пароля: 712mbddr@
и нажимаю “Далее” – “Далее“, указываю откуда отреплицировать данные:
- Источник репликации: srv-dc1.polygon.local
и нажимаю “Далее” – “Далее” – “Далее” – “Далее“, обязательно следует убедиться в появлении надписи “Все проверки готовности к установке выполнены успешно” и только тогда нажимаем “установить“. В процесс система будет перезагружена. Авторизуюсь с использованием учетных данных login: ekzorchik
Шаг №3: Проверяю количество домен контроллеров и отсутствие ошибок в домена с использованием команд:
Win + X — Командная строка (администратор)
C:\Windows\system32>netdom query dc
Список контроллеров домена с учетными записями в домене:
SRV-DC1
SRV-DC2
Команда выполнена успешно.
Отобразить текущий функциональный уровень леса:
C:\Windows\system32>dsquery * "CN=Partitions,CN=Configuration,DC=polygon,DC=local" -scope base -attr msDS-Behavior-Version
msDS-Behavior-Version
4
→ где данное число расшифровывается, как Windows Server 2008 R2 operating system and later
Отобразить текущий функциональный уровень домена:
C:\Windows\system32>dsquery * "dc=polygon,dc=local" -scope base -attr msDS-Behavior-Version ntMixedDomain
msDS-Behavior-Version ntMixedDomain
4 0 → Windows Server 2008 operating system or later DCs in the domain
Шаг №4: Захватываю все роли с srv-dc1 на srv-dc2:
C:\Windows\system32>ntdsutil
- ntdsutil: roles
- fsmo maintenance: connection
- server connections: connect to server srv-dc1.polygon.local
Привязка к srv-dc1.polygon.local …
Подключен к srv-dc1.polygon.local с помощью учетных данных локального пользователя.
- server connections: quit
Затем применительно к каждой роли FSMO производим захват/миграцию:
fsmo maintenance: seize schema master
fsmo maintenance: seize naming master
fsmo maintenance: seize pdc
fsmo maintenance: seize rid master
fsmo maintenance: seize infrastructure master
[stextbox id=’alert’]На заметку: На все вопросы по захвату ролей нажимаю “Да“[/stextbox]
После не забываем выйти из консоли команды ntdsutil вводом quit.
fsmo maintenance: quit
ntdsutil: quit
C:\Windows\system32>
Проверяю кто сейчас держит роли FSMO:
C:\Windows\system32>netdom query fsmo
Хозяин схемы srv-dc2.polygon.local
Хозяин именования доменов srv-dc2.polygon.local
PDC srv-dc2.polygon.local
Диспетчер пула RID srv-dc2.polygon.local
Хозяин инфраструктуры srv-dc2.polygon.local
Команда выполнена успешно.
Так осталось перевести роль “Хозяина схемы” и “Хозяина именования доменов“:
C:\Windows\system32>powershell
PS C:\Windows\system32> Move-ADDirectoryServerOperationMasterRole -Identity "srv-dc2" -OperationMasterRole 4
Перемещение роли хозяина операций
Вы хотите переместить роль “DomainNamingMaster” на сервер “srv-dc2.polygon.local“?
[Y] Да - Y [A] Да для всех - A [N] Нет - N [L] Нет для всех - L [S] Приостановить - S [?] Справка
(значением по умолчанию является "Y")
:A
PS C:\Windows\system32> Move-ADDirectoryServerOperationMasterRole -Identity "srv-dc2" -OperationMasterRole 3 -force
Перемещение роли хозяина операций
Вы хотите переместить роль “SchemaMaster” на сервер “srv-dc2.polygon.local“?
[Y] Да - Y [A] Да для всех - A [N] Нет - N [L] Нет для всех - L [S] Приостановить - S [?] Справка
(значением по умолчанию является "Y"):
A
PS C:\Windows\system32> exit
Чтобы отобразить какой теперь функциональный уровень домена:
C:\Windows\system32>dsquery * "dc=polygon,dc=local" -scope base -attr msDS-Behavior-Version ntMixedDomain
msDS-Behavior-Version ntMixedDomain
4 0 — где данное значение расшифровывается, как Windows Server 2012 R2
Чтобы отобразить версию схемы Active Directory Schema:
C:\Windows\system32>dsquery * "CN=Schema,CN=Configuration,dc=polygon,dc=local" -scope base -attr objectVersion
objectVersion
87
— где данное значение расшифровывается, как Windows Server 2016, а все из-за того, что я в текущем домене сделал контроллером домена новую систему, а значит и могу поднять функциональный уровень домена и уровень леса.
Шаг №5: Удаляю контроллер домена под управлением Windows Server 2008 R2 из глобального каталога. На Server 2016 (srv-dc2) открываю оснастку:
Win + X — Панель управления — Администрирование — “Active Directory Сайты и Службы” и выделяю левой кнопкой мыши сервере srv-dc1 который являлся контроллером домена ранее в текущей сайте “Default-First-Site-Name” на NTDS Settings снимаю в свойствах галочку с настройки “Глобальный каталог”
Шаг №6: Опираясь на заметку по “Удалению неисправного домена контроллера из Active Directory в Server 2008 R2”
проделываю все указанные там действия. Выключаю srv-dc1
C:\Windows\system32>ntdsutil
- ntdsutil: metadata cleanup
- metadata cleanup: connections
- server connections: connect to server srv-dc2
Привязка к srv-dc2 …
Подключен к srv-dc2 с помощью учетных данных локального пользователя.
- server connections: quit
- metadata cleanup: select operation target
- select operation target: list sites
Найдено сайтов: 1
0 – CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local
select operation target: select site 0
Сайт – CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local
Нет текущего домена
Нет текущего сервера
Нет текущего контекста именования
select operation target:
- select operation target: list servers in site
Найдено серверов: 2
0 – CN=SRV-DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local
1 – CN=SRV-DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local
select operation target:
- select operation target: select server 0
- select operation target: list domains
Найдено доменов: 1
0 – DC=polygon,DC=local
select operation target: select domain 0
Сайт – CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local
Домен – DC=polygon,DC=local
Сервер – CN=SRV-DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local
Объект DSA – CN=NTDS Settings,CN=SRV-DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local
Имя DNS-узла – srv-dc1.polygon.local
Объект-компьютер – CN=SRV-DC1,OU=Domain Controllers,DC=polygon,DC=local
Нет текущего контекста именования
- metadata cleanup: remove selected server
Передача или захват ролей FSMO от выбранного сервера.
Удаление метаданных FRS для выбранного сервера.
Поиск членов FRS в “CN=SRV-DC1,OU=Domain Controllers,DC=polygon,DC=local”.
Удаление поддерева в “CN=SRV-DC1,OU=Domain Controllers,DC=polygon,DC=local”.
Ошибка при попытке удалить параметры FRS на CN=SRV-DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local: “Элемент не найден.”;
очистка метаданных продолжается.
“CN=SRV-DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local” удалена с сервера “srv-dc2”
Из оснастки DNS сервера svr-dc2 удаляем все упоминания об srv-dc1. И переопределяем DNS-сервер в настройках сетевого адаптера хоста srv-dc2 с 10.90.90.2 на 10.90.90.3
Шаг №7: Проверяю текущий домен контроллер на наличие ошибок: dcdiag & repadmin
PS C:\Windows\system32> repadmin /syncall
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Завершена операция SyncAll.
Команда SyncAll завершена без ошибок.
PS C:\Windows\system32> repadmin /showrepl
Repadmin: выполнение команды /showrepl контроллере домена localhost с полным доступом
Default-First-Site-Name\SRV-DC2
Параметры DSA: IS_GC
Параметры сайта: (none)
DSA – GUID объекта: 401b3342-854f-4eb4-8261-ff6ce3848354
DSA – код вызова: 20507c04-d7a4-4a88-9eae-7a6dbd015321
Шаг №8: Изменяю режим работы леса с Windows Server 2008 R2 на Windows Server 2016 через оснастку “Active Directory — домены и доверие” щелкнув правой кнопкой мыши по надписи “Active Directory — домены и доверие” открытой оснастки, затем выбрав элемент меню “Изменение режима работы леса” и изменяю режим работы леса на “Windows Server 2016” и нажимаю “Изменить” – “ОК” окна “Повышение режима работы леса“. Или можно через консоль командной строки powershell проделать это:
C:\Windows\system32>powershell
Windows PowerShell
(C) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены.
PS C:\Windows\system32> Set-ADDomainMode -identity polygon.local -DomainMode Windows2016Domain
PS C:\Windows\system32> Set-ADForestMode -identity polygon.local -ForestMode Windows2016Forest
Проверить, что команды выше отработали как надо можно так:
PS C:\Windows\system32> get-addomain | fl Name,DomainMode ;get-adforest | fl Name,ForestMode
Name : polygon
DomainMode : Windows2016Domain
Name : polygon.local
ForestMode : Windows2016Forest
Результат положителен. Я успешно оформил как заметка, как повысить домен до уровня Windows2016 путем захвата всех ролей на новом домен контроллере под управлением Windows Server 2016 Standard.
Шаг №9: Не забываем, раз на srv-dc1 был DHCP сервер, то его стоило забекапить, а потом импортировать на srv-dc2, либо же если настроек не много и Вы все помните, то установить роль DHCP сервиса и настроить область выдачи IP–адресов.
[stextbox id=’alert’]На заметку: Не обязательно иметь в локальной сети DHCP сервис на базе Windows, можно чтобы он был и на сетевом оборудовании, к примеру Mikrotik. У меня так.[/stextbox]
Может так случить, что служба работает, но развернутая область не активна. В логах есть ошибки на этот счет: Event ID 1056
Служба DHCP обнаружила, что она запущена на контроллере домена (DC) и не имеет учетных данных, настроенных для использования с динамическими DNS-регистрациями, производимыми службой DHCP. Подобная конфигурация безопасности не рекомендуется. Учетные данные динамических DNS-регистраций можно настроить с помощью утилиты командной строки “netsh dhcp server set dnscredentials
” или с помощью программы администрирования DHCP.
C:\Windows\system32> netsh dhcp server set dnscredentials ekzorchik poligon.local 712mbddr@
Пока проблема не поднимается. Нет нужно было удалить текущую область и заново не торопясь его создать и настроить.
Шаг №10: Проверяю, что рабочая станция может стать членом текущего домена и авторизоваться в нем.
C:\Users\alektest>hostname
system
C:\Users\alektest>ipconfig
Настройка протокола IP для Windows
Ethernet adapter Подключение по локальной сети:
DNS-суффикс подключения . . . . . : polygon.local
IPv4-адрес. . . . . . . . . . . . : 10.90.90.10
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз. . . . . . . . . : 10.90.90.1
а на srv-dc2:
C:\Users\ekzorchik>dsquery computer
"CN=SRV-DC2,OU=Domain Controllers,DC=polygon,DC=local"
"CN=SYSTEM,CN=Computers,DC=polygon,DC=local"
→ ну вот и рабочая станция успешно авторизованная в домене.
Итого, заметка работоспособна. Раз получилось сделать в тестовой конфигурации, то как показывает моя практика сделать это можно будет и на боевой инфраструктуре. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.