Передача / захоплення ролей FSMO на інший контролер домену Active Directory

У цій статті ми розглянемо, як визначити контролери домену з ролями FSMO в Active Directory, способи передачі однієї або кількох FSMO ролей іншому контролеру домену (додаткового), а також спосіб примусового захоплення FSMO ролей в разі виходу з ладу контролера домену, який є власником ролі.

зміст:

  • Для чого потрібні FSMO ролі в домені Active Directory?
  • Перегляд власників FSMO ролей в домені
  • Передача FSMO ролей за допомогою PowerShell
  • Передача FSMO ролей з графічних оснасток Active Directory
  • Передача FSMO ролей з командного рядка за допомогою утиліти ntdsutil
  • Примусовий захоплення FSMO ролей Active Directory

Для чого потрібні FSMO ролі в домені Active Directory?

Коротко спробую нагадати для чого потрібний ролі FSMO (Flexible Single Master Operation, операції з одним виконавцем) в домені Active Directory.

Не секрет, що в Active Directory більшість стандартних операцій (таких як заклад нових облікових записів користувачів, груп безпеки, додавання комп'ютера в домен) можна виконувати на будь-якому контролері домена. За поширення цих змін по всьому каталозі AD відповідає служба реплікації AD. Різні конфлікти (наприклад, одночасне перейменування користувача на декількох контролерів домену) вирішуються за простим принципом - хто останній той і правий. Однак є ряд операцій, при виконанні яких неприпустимо наявність конфлікту (наприклад, при створенні нового дочірнього домену / ліси, зміні схеми AD і т.д). Для виконання операцій, що вимагають обов'язкової унікальності потрібні контролери домену з ролями FSMO. Основне завдання ролей FSMO - не допустити конфлікти такого роду

Всього в домені Active Directory може бути п'ять ролей FSMO.

дві унікальні ролі для лісу AD:

  1. Господар схеми (Schema master) - відповідає за внесення зміна в схему Active Directory, наприклад, при розширенні за допомогою команди adprep / forestprep (для управління роллю потрібні права "Schema admins");
  2. Господар іменування домену (Domain naming master) - забезпечує унікальність імен для всіх створюваних доменів і розділів додатків в лісі AD (для управління потрібні права "Enterprise admins");

І три ролі для кожного домену (Для управління цими ролями ваш обліковий запис повинен складатися в групі "Domain Admins"):

  1. Емулятор PDC (PDC emulator) - є основним оглядачем в мережі Windows (Domain Master Browser - потрібен для нормального відображення комп'ютерів в мережному оточенні); відстежує блокування користувачів при неправильно введеному паролі, є головним NTP сервером в домені, використовується для сумісності з клієнтами Windows 2000 / NT, використовується кореневими серверами DFS для оновлення інформації про просторі назв;
  2. Господар інфраструктури (Infrastructure Master) - відповідає за оновлення в междоменной об'єктних посилань, також на ньому виконується команда adprep / domainprep;.
  3. Господар RID (RID Master) -сервер роздає іншим контролерам домену ідентифікатори RID (пачками по 500 штук) для створення унікальних ідентифікаторів об'єктів - SID.

Перегляд власників FSMO ролей в домені

Як визначити який контролер домену є господарем / власником конкретної FSMO ролі?

Щоб знайти всіх власників FSMO ролей в домені AD, виконайте команду:

netdom query fsmo

Schema master dc01.domain.loc Domain naming master dc01.domain.loc PDC dc01.domain.loc RID pool manager dc01.domain.loc Infrastructure master dc01.domain.loc

Ви можете переглянути FSMO ролі для іншого домену:

netdom query fsmo /domain:contoso.com

У цьому прикладі видно, що все FSMO ролі розташовані на контролері домену DC01. При розгортанні нового лісу AD (домену), все FSMO ролі поміщаються на перший DC. Будь-контролер домену крім RODC може бути господарем будь FSMO ролі. Відповідно, адміністратора домена може передати будь-яку FSMO роль на будь-який інший контролер домен.

Можна отримати інформацію про FSMO ролях в домені через PowerShell за допомогою Get-ADDomainController (повинен бути встановлений модуль Active Directory для PowerShell зі складу RSAT):

Get-ADDomainController -Filter * | Select-Object Name, Domain, Forest, OperationMasterRoles | Where-Object $ _. OperationMasterRoles

Або можна отримати FSMO ролі рівня лісу і рівня домену так:

Get-ADDomain | Select-Object InfrastructureMaster, RIDMaster, PDCEmulator
Get-ADForest | Select-Object DomainNamingMaster, SchemaMaster

Загальні рекомендації Microsoft по розміщенні FSMO ролей на контролерах домену:

  1. Ролі рівня лісу (Schema master і Domain naming master) потрібно розташувати на контролері кореневого домену, який одночасно є сервером глобального каталогу (Global Catalog);
  2. Всі 3 доменні FSMO ролі потрібно розмістити на одному DC з достатньою продуктивністю;
  3. Все DC в лісі повинні бути серверами глобального каталогу, тому що це підвищує надійність і продуктивність AD, при цьому роль Infrastructure Master фактично не потрібна. Якщо у вас в домені є DC без ролі Global Catalog, потрібно помістити FSMO роль Infrastructure Master саме на нього;
  4. Чи не розмішайте інші завдання на DC, власників FSMO ролей.

У Active Directory ви можете передати FSMO ролі декількома способами: за допомогою графічних mmc оснасток AD, за допомогою утиліти ntdsutil.exe або через PowerShell. Про перенесення ролей FSMO зазвичай замислюються при оптимізації інфраструктури AD, при виведенні з експлуатації або поломці контролера домену з роллю FSMO. Є два способи передачі FSMO ролей: добровільний (Коли обидва DC доступні) або примусовий (Коли DC з роллю FSMO недоступний / вийшов з ладу)

Передача FSMO ролей за допомогою PowerShell

Найпростіший і швидкий спосіб передачі FSMO ролей в домені - PowerShell командлет Move-ADDirectoryServerOperationMasterRole.

Ви можете передати на вказаний DC одну або кілька FSMO ролей за раз. Наступна команда виконає передачу двох ролей на DC02:

Move-ADDirectoryServerOperationMasterRole -Identity dc02 -OperationMasterRole PDCEmulator, RIDMaster

В аргументі OperationMasterRole можна вказати як ім'я FSMO ролі, так і її індекс відповідно до таблиці:

PDCEmulator0
RIDMaster1
InfrastructureMaster2
SchemaMaster3
DomainNamingMaster4

Попередня команда в більш стислому вигляді виглядає так:

Move-ADDirectoryServerOperationMasterRole -Identity dc02 -OperationMasterRole 0,1

А щоб передати відразу все FSMO ролі на додатковий контролер домену, виконайте:

Move-ADDirectoryServerOperationMasterRole -Identity dc03 -OperationMasterRole 0,1,2,3,4

Передача FSMO ролей з графічних оснасток Active Directory

Для перенесення FSMO ролей можна використовувати стандартні графічні оснащення Active Directory. Операцію перенесення бажано виконувати на DC з FSMO роллю. Якщо ж консоль сервера не доступна, необхідно виконати команду Change Domain Controller і вибрати контролер домену в mmc-оснащенні.

Передача ролей RID Master, PDC Emulator і Infrastructure Master

Для передачі ролей рівня домену (RID, PDC, Infrastructure Master) використовується стандартна консоль Active Directory Users and Computers (DSA.msc)

  1. Відкрийте консоль Active Directory Users and Computers;
  2. Клацніть правою кнопкою миші по імені вашого домену і виберіть пункт Operations Master;
  3. Перед вами з'явиться вікно з трьома вкладками (RID, PDC, Infrastructure), на кожній з яких можна передати відповідну роль, вказавши нового власника FSMO ролі і натиснувши кнопку Change.

Передача ролі Schema Master

Для перенесення FSMO рівня лісу Schema Master використовується оснащення Active Directory Schema.

  1. Перед запуском оснастки потрібно зареєструвати бібліотеку schmmgmt.dll, виконавши в командному рядку команду: regsvr32 schmmgmt.dll 2. Відкрийте консоль MMC, набравши MMC в командному рядку;
    3. У меню виберіть пункт File -> Add / Remove snap-in і додайте консоль Active Directory Schema;
    4. Клацніть правою кнопкою по кореню консолі (Active Directory Schema) і виберіть пункт Operations Master;
    5. Введіть ім'я контролера, якому передається роль господаря схеми, натисніть кнопку Change і OK. Якщо кнопка недоступна, перевірте що ваш обліковий запис входить до групи Schema admins.

Передача FSMO ролі Domain naming master

  1. Для передачі FSMO ролі господаря іменування домену, відкрийте консоль управління доменами і довірою Active Directory Domains and Trusts;
  2. Клацніть правою кнопкою на ім'я вашого домену і виберіть опцію Operations Master;
  3. Натисніть кнопку Change, вкажіть ім'я контролера домену та натисніть OK.

Передача FSMO ролей з командного рядка за допомогою утиліти ntdsutil

Увага: Використовувати утиліту ntdsutil необхідно з обережністю, чітко розуміючи, що ви робите, інакше можна просто зламати ваш домен Active Directory!

  1. На контролері домену відкрийте командний рядок і введіть команду: ntdsutil
  2. Наберіть команду: roles
  3. потім: connections
  4. Потім потрібно підключитися до DC, на який ви хочете передати роль. Для цього наберіть: connect to server
  5. Введіть q і натисніть Enter.
  6. Для передачі FSMO ролі використовується команда: transfer role , де це роль яку ви хочете передати. наприклад: transfer schema master, transfer RID і т.д.
  7. Підтвердіть перенесення FSMO ролі;
  8. Після перенесення ролей натисніть q і Enter, щоб завершити роботу з ntdsutil.exe;
  9. Перезавантажте контролер домену.

Примусовий захоплення FSMO ролей Active Directory

Якщо DC з однією з FSMO роллю вийшов з ладу (і його неможливо відновити), або недоступний тривалий час, ви можете примусово перехопити у нього будь-яку з FSMO ролей. Але при цьому вкрай важливо переконатися, що сервер, у якого забрали FSMO роль ніколи не повинен з'явиться в мережі, якщо ви не хочете нових проблем з AD (навіть якщо ви пізніше відновите DC з резервної копії). Якщо ви захочете повернути втрачений сервер в домен, єдиний правильний спосіб - видалення його з AD, чиста перевстановлення Windows під новим ім'ям, установка ролі ADDS і підвищення сервера до контролера домену

Ви можете примусово захопити FSMO ролі за допомогою PowerShell або утиліти NTDSUtil.

Найпростіше захопити FSMO роль через PowerShell. Для цього використовується той-же самий командлет Move-ADDirectoryServerOperationMasterRole, що і для перенесення ролі, але додається параметр -Force.

Наприклад, щоб захопити роль PDCEmulator і примусово передати її на DC02, виконайте:

Move-ADDirectoryServerOperationMasterRole -Identity DC2 -OperationMasterRole PDCEmulator -Force

Також ви можете перенести ролі FSMO на сервер DC02 за допомогою утиліти ntdsutil. Процедура захоплення ролі через ntdsutil схожа на звичайну передачу. Використовуйте наступні команди:

ntdsutil
roles
connections
connect to server DC02 (на цей сервер ви перенесете роль)
quit

Для захоплення різних ролей FSMO використовуйте команди:
seize schema master
seize naming master
seize rid master
seize pdc
seize infrastructure master
quit