как узнать роли контроллера домена
Управление FSMO ролями Active Directory с помощью Powershell
В Active Directory Domain Services представлено 5 хозяев операций или FSMO-ролей:
Ниже представлен базовый список команд на Powershell, который чаще всего применяется для управления данными ролями.
Просмотр
Узнать FSMO-роли мастеров уровня леса:
Get-ADForest dmosk.local | ft DomainNamingMaster, SchemaMaster
* в данном примере, на экран будут выведены имена серверов с ролями для домена dmosk.local.
Просмотр мастеров уровня домена:
Get-ADDomain dmosk.local | ft InfrastructureMaster, PDCEmulator, RIDMaster
* для домена dmosk.local система отобразит сервера, на которых работают RID мастер, мастер инфраструктуры и PDC эмулятор.
P.S. Можно также посмотреть список ролей и серверов, которые их выполняют командой:
Передача
Передачу мы делаем с сервера, на котором в данный момент находится роль.
Передать одну FSMO-роль на другой контроллер домена:
Move-ADDirectoryServerOperationMasterRole «dc2» PDCEmulator
* в примере будет перенесена роль PDC эмулятор на сервер с именем dc2.
Перенести несколько ролей:
* команда передаст все 5 ролей на сервер dc1.
Захват
Захват выполняется в тех случаях, когда контроллер домена выходит из строя и его нельзя восстанавить. Таким образом, передать роль невозможно из-за отсутствия носителя FSMO.
Powershell
Как и с переносом, мы можем воспользоваться Powershell с добавлением опции Force:
* в данном примере мы собираемся перенести все роли на сервер dc3.
. на запрос точно ли мы хотим перенести роль мастера, ответим «Да для всех» (A):
NTDSUTIL
Также можно выполнить захват роли с помощью утилиты NTDSUTIL. Это акажется актуальным для серверов с устаревшей (или отсутствующей) версией Powershell, которая не позволит сделать захват.
Для этого на контроллере домена запускаем команду ntdsutil и последовательно вводим:
Теперь вводим команду для захвата конкретной роли:
IT-engineer’s notes
О том, что происходит каждый день…
Определение FSMO ролей
На моих глазах почти все администраторы привыкли определять место расположения FSMO ролей с помощью MMC оснасток. А если стоит Server Core и под рукой нет RSAT пакета?!
Вот несколько способов определения FSMO ролей:
1) Через MMC консоли:
2) С помощью netdom:
В итоге мы увидим следующую картину:
И сразу становиться понятно что владельцем всех FSMO ролей является dc1.example.com
3)С помощью dsquery
Например, для того что бы узнать местонахождение роли RID Master выполняем команду:
4)С помощью PowerShell:
Для этого нам понадобиться импортировать модуль AcviteDirectory:
После этого нас интересует две команды:
В результате выполнения этой команды мы увидим владельцев FSMO ролей уровня домена:
Что бы узнать владельцев FSMO ролей уровня леса надо выполнить команду:
Вообще модуль ActiveDirectory очень полезен для использования. Примеры его использования можно посмотреть в блоге wadmin.
Просмотр и передача ролей FSMO
В этой статье описывается, как просматривать и передавать роли FSMO.
Применяется к: Windows Server 2012 R2
Исходный номер КБ: 324801
Сводка
В этой статье описывается передача ролей гибких однообъекторных операций (FSMO) (также известных как главные роли операций) с помощью средств snap-in Active Directory в консоли управления Майкрософт (MMC) в Windows Server 2003.
Роли FSMO
В лесу существует не менее пяти ролей FSMO, которые назначены одному или более контроллерам домена. Пять ролей FSMO:
Роли FSMO можно передать с помощью Ntdsutil.exe командной строки или с помощью средства оснастки MMC. В зависимости от роли FSMO, которую вы хотите передать, можно использовать один из следующих трех средств привязки MMC:
Функция оснастки Active Directory Schema
Активная привязка доменов и трастов каталогов
Активные пользователи каталога и компьютеры оснастки
Если компьютер больше не существует, роль должна быть захвачена. Чтобы захватить роль, используйте Ntdsutil.exe утилиту.
Дополнительные сведения о том, как использовать Ntdsutil.exe для захвата ролей FSMO, щелкните номер статьи ниже, чтобы просмотреть статью в базе знаний Майкрософт:
255504 использование Ntdsutil.exe для захвата или передачи ролей FSMO в домен
Чтобы передать главную роль схемы, используйте оснастку Active Directory Master. Прежде чем использовать эту привязку, необходимо зарегистрировать Schmmgmt.dll файл.
Регистрация Schmmgmt.dll
Передача главную роль схемы
Передача роли «Имя домена»
Нажмите кнопку Начните, указать на административные средства и нажмите кнопку Active Directory Domains and Trusts.
Щелкните правой кнопкой мыши Домены Active Directory и трасты, а затем нажмите кнопку Подключение контроллер домена.
Вы должны выполнить этот шаг, если вы не находитесь на контроллере домена, на который вы хотите перенести роль. Вам не нужно выполнять этот шаг, если вы уже подключены к контроллеру домена, роль которого необходимо перенести.
Сделайте одно из следующих действий:
В дереве консоли щелкните правой кнопкой мыши Active Directory Domains and Trusts и нажмите кнопку Мастер операций.
Нажмите кнопку Изменить.
Нажмите кнопку ОК, чтобы подтвердить, что вы хотите передать роль, а затем нажмите кнопку Закрыть.
Передача главных ролей rid, PDC Emulator и инфраструктуры
Нажмите кнопку Начните, указать на административные средства и нажмите кнопку Active Directory Users and Computers.
Щелкните правой кнопкой мыши Пользователи и компьютеры Active Directory, а затем нажмите кнопку Подключение контроллер домена.
Вы должны выполнить этот шаг, если вы не находитесь на контроллере домена, на который вы хотите перенести роль. Вам не нужно выполнять этот шаг, если вы уже подключены к контроллеру домена, роль которого необходимо перенести.
Сделайте одно из следующих действий:
В дереве консоли щелкните правой кнопкой мыши Пользователи и компьютеры Active Directory, укажи все задачи, а затем щелкните Мастер операций.
Щелкните соответствующую вкладку для роли, которую необходимо перенести (RID, PDC или Infrastructure), а затем нажмите кнопку Изменить.
Нажмите кнопку ОК, чтобы подтвердить, что вы хотите передать роль, а затем нажмите кнопку Закрыть.
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Управление ролями FSMO при помощи Ntdsutil.
Управление ролями FSMO при помощи стандартных оснасток MMC не совсем удобный процесс, так как для доступа к разным ролям приходится использовать различные оснастки, а к некоторым из них еще и не так просто добраться. Кроме того оснастки MMC не позволяют производить операции захвата ролей в случае выхода из строя контроллера домена на котором они были расположены. Гораздо удобнее для этих целей использовать утилиту ntdsutil, о чем и пойдет речь в данной статье.
Прежде чем приступать к практической части, вспомним что такое роли FSMO и рассмотрим что именно произойдет с ActiveDirectory при их отказе. Всего ролей FSMO пять, две для леса и три для домена.
Роли уровня леса существуют в единственном экземпляре и, несмотря на свою важность, наименее критичны для функционирования AD. Что произойдет при недоступности каждой из них:
Роли уровня домена существуют по одной в каждом домене и являются более критичными для функционирования AD.
Вместе с тем, как можно увидеть, нет ни одной роли FSMO отказ которой приводил бы к существенной потере функциональности AD, даже при отказе всех ролей FSMO инфраструктура может нормально работать в течении нескольких дней, недель или даже месяцев.
Поэтому, если вы собираетесь на некоторое время вывести контроллер, содержащий некоторые или все роли, из эксплуатации (например на профилактику), то нет необходимости их передавать, ваша AD нормально проживет и без них.
Передача ролей уместна в том случае, если вы планируете вывести данный сервер из эксплуатации на длительное время или передать его в другое подразделение (например в другой сайт), либо планируемые операции могут привести к его выходу из строя (например апгрейд железа).
В случае отказа контроллера не спешите захватывать роли, вы всегда успеете это сделать, в противном случае при восстановлении и подключении в сеть сервера, ранее содержавшего роли FSMO, вы получите много неприятных моментов связанных с USN Rollback и восстановлением нормального функционирования домена. Если все таки роли были захвачены, а затем вы восстановили старый контроллер, то наилучшим решением будет переустановить на нем систему и ввести в домен заново.
Также еще один неочевидный момент, если у вас несколько доменов и не все контроллеры являются глобальными каталогами не размещайте хозяина инфрастурктуры на контроллере с глобальным каталогом. Это равносильно его отсутствию.
Узнать какие именно контроллеры обладают ролями FSMO можно командой:
Для управления ролями FSMO запустите утилиту ntdsutil на любом контроллере домена:
Затем перейдем к управлению ролями:
Следующим шагом следует соединиться с контроллером домена, которому мы собираемся передать роли, для этого перейдем в подменю соединения с серверами:
и соединимся с нужным сервером:
При этом следует помнить, что мы можем запустить утилиту на любом из контроллеров домена и присоединиться к любому другому КД для передачи или захвата ролей. В нашем примере мы физически находясь на сервере SRV-DC01 соединились с сервером WIN2K8R2-SP1 и попробуем передать ему какую нибудь роль.
Для передачи ролей служит команда transfer в качестве агрумента которой выступает имя передаваемой роли, для каждой из ролей используются следующие имена:
Внимание! В системах до Windows Server 2008 R2 для хозяина именования домена использовалось имя domain naming master.
Например для передачи роли хозяина именования домена выполним команду:
Появится диалоговое окно, которое попросит нас подтвердить действие, советуем всегда внимательно изучать его содержимое.
Получив утвердительный ответ утилита передаст выбранную роль другому серверу.
Теперь представим, что сервер WIN2K8R2-SP1 безвозвратно выбыл из строя и нам требуется захватить роль хозяина именования назад. Для захвата ролей служит команда seize, которая имеет аналогичный синтаксис.
Для захвата роли снова запустим ntdsutil и, подключившись к контроллеру для которого будем производить захват, выполним команду:
После того как мы подтвердим захват ntdsutil попытается осуществить операцию передачи роли и только в случае ее невозможности произведет захват.
Это сделано для того, чтобы избежать ситуации, когда роль будет захвачена у исправного контроллера и в сети возникнет два обладателя одной и той же роли.
Помните, что после захвата включать в сеть контроллер с которого была захвачена роль нельзя!
Как видим, использование утилиты ntdsutil нисколько не сложно и даже более удобно, чем управление ролями при помощи оснасток MMC. Кроме того возможности ntdsutil не исчерпываются управлением ролями, но об этом мы расскажем в следующих материалах.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Роли FSMO
Есть несколько ситуаций, когда приходится вспоминать о ролях FSMO — это аварийное восстановление после сбоя, миграция, а также поиск работы (обычно на собеседованиях очень любят задавать вопросы типа «Какие существуют роли в AD для контроллера домена, зачем они нужны?»). И хотя все эти ситуации происходят крайне редко, для общего понимания работы AD весьма полезно понимать назначение ролей FSMO.
FSMO, или Flexible single-master operations (операции с одним исполнителем) — это операции, выполняемые контроллерами домена Active Directory (AD), которые требуют обязательной уникальности сервера для каждой операции. В зависимости от типа операции уникальность FSMO подразумевается в пределах одного домена или леса доменов. Различные типы FSMO могут выполняться как на одном, так и на нескольких контроллерах домена. Выполнение FSMO сервером называют ролью сервера, а сами сервера — хозяевами операций.
Большинство операций в AD можно делать на любом контроллере домена. Служба репликации AD скопирует изменения на остальные контролеры домена, обеспечив идентичность базы AD на всех контролерах одного домена. Устранение конфликтов происходит следующим образом – прав тот, кто вносил изменения последним.
Однако существует несколько действий (например изменение схемы AD), при которых конфликты недопустимы. Поэтому и существуют сервера с ролями FSMO. Их задача — не допускать таких конфликтов. Таким образом, смысл ролей FSMO в следующем — каждая роль одновременно может выполняться только на одном сервере. А при необходимости ее можно в любой момент передать другому контроллеру домена.
Всего в лесу есть пять ролей FSMO. Для начала приведу их краткое описание:
А теперь пройдемся подробнее по каждой роли и выясним, насколько они важны для функционирования Active Directory.
Schema Master
Schema Master — отвечает за внесение изменений в схему, где находятся описания всех классов и атрибутов Active Directory. Схема модифицируется крайне редко, например при изменении уровня домена, установке Exchange и иногда других приложений. Располагаться данная роль может на любом контроллере домена в пределах леса. При недоступности Schema Master изменить схему AD будет невозможно.
Domain Naming Master
Domain Naming Master отвечает за операции, связанные с именами доменов AD, однако список его обязанностей несколько больше:
Находиться данная роль может на любом контроллере домена в пределах леса.
Infrastructure Master
Если сервер не является глобальным каталогом (GC), то в его базе нет данных о пользователях из других доменов. Тем не менее, в локальные группы домена мы можем добавлять пользователей из других доменов. А группа в базе AD должна физически иметь ссылки на всех пользователей. Эту проблему решили созданием фиктивного объекта — фантома (phantom). Фиктивные объекты представляют собой особый тип объектов внутренней базы данных и не могут просматриваться через ADSI или LDAP. Именно работой с фантомами занимается мастер инфраструктуры.
Еще одна особенность данной роли — для правильной работы в многодоменной среде контролер домена, выполняющий роль хозяина инфраструктуры не должен быть сервером глобального каталога. Если обладатель роли Infrastructure Master также является сервером GC, фиктивные объекты не создаются или не обновляются на этом контроллере домена. Это происходит потому, что глобальный каталог уже содержит частичные реплики всех объектов в Active Directory, и ему нет необходимости в фантомах.
RID Master
У каждой учетной записи в домене (пользователя, компьютера, группы) должен быть уникальный идентификатор безопасности (SID), который однозначно идентифицирует эту учетную запись и служит для разграничения прав доступа. Выглядит SID следующим образом:
Контроллер домена с ролью RID Master отвечает за выделение последовательности уникальных RID каждому контроллеру домена в своем домене, а также за корректность перемещения объектов из одного домена в другой. У контроллеров домена есть общий пул относительных идентификаторов (RID Pool), RID из которого каждому контроллеру выделяются порциями по 500 штук. Когда их число подходит к концу (становится меньше 100), контроллер запрашивает новую порцию. При необходимости число выдаваемых RID и порог запроса можно изменить.
Еще одна зона ответственности RID Master — перемещение объектов между доменами. Именно RID Master следит за тем, чтобы нельзя было одновременно переместить один объект в два разных домена. Иначе возможна ситуация, когда в двух доменах будет два объекта с одинаковым GUID, что чревато самыми неожиданными последствиями.
Если RID Master не будет доступен, то после окончания свободных RID создать новую учетную запись станет невозможно, а также не удастся провести миграцию объектов из текущего домена в другой.
PDC Emulator
Изначально основной задачей Primary Domain Controller (PDC) Emulator было обеспечение совместимости с предыдущими версиями Windows. В смешанной среде, в которой встречаются клиенты Windows NT4.0/95/98 и контроллеры домена NT4, PDC Emulator выполняет (только для них) следующие функции:
Начиная с уровня домена Windows 2000 и старше работы ему прибавилось. Контроллер домена с ролью PDC Emulator выполняет следующие функции:
На этом пожалуй все. Надеюсь мне удалось немного прояснить ситуацию с ролями FSMO. А в следующий раз мы рассмотрим варианты передачи ролей другому контроллеру домена, а также принудительное назначение (захват) роли в случае недоступности контроллера домена, который ее выполняет.