Задача: Нужно проработать процесс миграции домена на базе 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.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.