У цій статті ми розглянемо, як визначити контролери домену з ролями 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:
- Господар схеми (Schema master) - відповідає за внесення зміна в схему Active Directory, наприклад, при розширенні за допомогою команди adprep / forestprep (для управління роллю потрібні права "Schema admins");
- Господар іменування домену (Domain naming master) - забезпечує унікальність імен для всіх створюваних доменів і розділів додатків в лісі AD (для управління потрібні права "Enterprise admins");
І три ролі для кожного домену (Для управління цими ролями ваш обліковий запис повинен складатися в групі "Domain Admins"):
- Емулятор PDC (PDC emulator) - є основним оглядачем в мережі Windows (Domain Master Browser - потрібен для нормального відображення комп'ютерів в мережному оточенні); відстежує блокування користувачів при неправильно введеному паролі, є головним NTP сервером в домені, використовується для сумісності з клієнтами Windows 2000 / NT, використовується кореневими серверами DFS для оновлення інформації про просторі назв;
- Господар інфраструктури (Infrastructure Master) - відповідає за оновлення в междоменной об'єктних посилань, також на ньому виконується команда adprep / domainprep;.
- Господар 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 ролей на контролерах домену:
- Ролі рівня лісу (Schema master і Domain naming master) потрібно розташувати на контролері кореневого домену, який одночасно є сервером глобального каталогу (Global Catalog);
- Всі 3 доменні FSMO ролі потрібно розмістити на одному DC з достатньою продуктивністю;
- Все DC в лісі повинні бути серверами глобального каталогу, тому що це підвищує надійність і продуктивність AD, при цьому роль Infrastructure Master фактично не потрібна. Якщо у вас в домені є DC без ролі Global Catalog, потрібно помістити FSMO роль Infrastructure Master саме на нього;
- Чи не розмішайте інші завдання на 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 ролі, так і її індекс відповідно до таблиці:
PDCEmulator | 0 |
RIDMaster | 1 |
InfrastructureMaster | 2 |
SchemaMaster | 3 |
DomainNamingMaster | 4 |
Попередня команда в більш стислому вигляді виглядає так:
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)
- Відкрийте консоль Active Directory Users and Computers;
- Клацніть правою кнопкою миші по імені вашого домену і виберіть пункт Operations Master;
- Перед вами з'явиться вікно з трьома вкладками (RID, PDC, Infrastructure), на кожній з яких можна передати відповідну роль, вказавши нового власника FSMO ролі і натиснувши кнопку Change.
Передача ролі Schema Master
Для перенесення FSMO рівня лісу Schema Master використовується оснащення Active Directory Schema.
- Перед запуском оснастки потрібно зареєструвати бібліотеку 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
- Для передачі FSMO ролі господаря іменування домену, відкрийте консоль управління доменами і довірою Active Directory Domains and Trusts;
- Клацніть правою кнопкою на ім'я вашого домену і виберіть опцію Operations Master;
- Натисніть кнопку Change, вкажіть ім'я контролера домену та натисніть OK.
Передача FSMO ролей з командного рядка за допомогою утиліти ntdsutil
Увага: Використовувати утиліту ntdsutil необхідно з обережністю, чітко розуміючи, що ви робите, інакше можна просто зламати ваш домен Active Directory!
- На контролері домену відкрийте командний рядок і введіть команду:
ntdsutil
- Наберіть команду:
roles
- потім:
connections
- Потім потрібно підключитися до DC, на який ви хочете передати роль. Для цього наберіть:
connect to server
- Введіть
q
і натисніть Enter. - Для передачі FSMO ролі використовується команда:
transfer role
, де це роль яку ви хочете передати. наприклад:transfer schema master
,transfer RID
і т.д. - Підтвердіть перенесення FSMO ролі;
- Після перенесення ролей натисніть
q
і Enter, щоб завершити роботу з ntdsutil.exe; - Перезавантажте контролер домену.
Примусовий захоплення 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