Schema master — Хозяин схемы Active Directory

Трудно недооценить важность «Схемы Active Directory» для сетей, построенных на базе доменной среды Active Directory. Это основа технологии «AD» и очень важно правильно понимать принципы ее функционирования. Большинство системных администраторов не уделяют схеме должного внимания по причине того, что иметь дело с ней приходится достаточно редко. В данной статье я расскажу, что такое версия схемы, для чего нам необходимо ее знать и самое главное как посмотреть текущую версию.

Прежде всего, пару слов о самой схеме, каждый объект, созданный в Active Directory, будь то пользователь или компьютер, имеет определенные параметры, называемые атрибутами. Самым простым примером может служить атрибут «Фамилия» у объекта пользователь. Схема определяет, какие объекты мы можем создавать в Active Directory, и какие атрибуты они будут иметь.

Active Directory допускает использование в рамках одной организации несколько контроллеров домена, построенных на базе разных версий ОС Windows. А именно на базе Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008. Поскольку данные версии выпускались в разные годы, и каждая новая версия несет больший функционал, чем предыдущая, понимание схемы у каждой операционной системы свое. Поэтому при добавлении нового контроллера на базе Windows Server 2008 в организацию, где существующие контроллеры построены на Windows Server 2003, вам приходилось запускать утилиту «Adprep ». Тем самым вы обновляли схему вашей организации до того уровня, с которым работает Windows Server 2008.

Процесс обновления схемы выполнялся до установки первого контроллера Windows Server 2008 и собственно сама процедура установки нового контроллера, могла и не выполняться. Если вы только начинаете работать с какой-то организацией Active Directory и не знаете, какие действия осуществлялись до вашего прихода, вам для понимания полноты структуры, будет нужно знать, на каком уровне работает Схема текущей организации.

Возможные версии схемы:

13 - Windows 2000 Server
30 - Windows Server 2003 RTM, Windows 2003 With Service Pack 1, Windows 2003 With Service Pack 2
31 - Windows Server 2003 R2
44 - Windows Server 2008 RTM

Даже если все контроллеры в вашей организации работают на Windows Server 2003 R2, а версия схемы показывает «44» не стоит удивляться, это говорит о том, что уже было осуществлено обновление схемы до уровня Windows Server 2008 RTM, но сам контроллер по какой-то причине устанавливать не стали.

Посмотреть версию схемы можно несколькими способами, самым простым является способ с использованием утилиты «DSQuery». Для этого в командной строке необходимо ввести команду со следующими параметрами:

“dsquery * cn=schema,cn=configuration,dc=domainname,dc=local -scope base -attr objectVersion”

Естественно в части «dc=domainname,dc=local» вы должны подставить имя собственного домена. (Пример: dc=microsoft,dc=com )

Результатом ввода команды является получение атрибута «ObjectVersion », который и будет являться номером версии схемы:

Рис. 1 Получение версии схемы через утилиту «DSQuery».

Второй способ более длинный и подразумевает использование оснастки «ADSIEdit.msc» . Для просмотра версии схемы вам придется подключиться к разделу Active Directory схема.

"CN=Schema,CN=Configuration,DC=domain,DC=local "

И найти значение атрибута "objectVersion ".

Рис.2 Получение версии схемы через оснастку «ADSIEdit.msc ».

Зная версию схему, вы всегда можете с уверенностью сказать нужно ли схему обновлять и если нужно то, до какого уровня.

Следует отметить, что обновления схемы могу производиться программным обеспечением тесно интегрированным с Active Directory. Самый яркий пример Microsoft Exchange Server. И зачастую в организации, планирующей внедрение Exchange Server, необходимо выяснить, была ли осуществлена подготовка схемы? И если была, то какой версией Exchange Server. На текущий момент существуют три версии Exchange, работающие с Active Directory, но вариантов модификации схемы существует шесть. Понять была ли изменена Схема Active Directory Exchange сервером можно по атрибуту «rangeUpper», который принимает следующие значения:

4397 - Exchange Server 2000 RTM
4406 - Exchange Server 2000 With Service Pack 3
6870 - Exchange Server 2003 RTM
6936 - Exchange Server 2003 With Service Pack 3
10628 - Exchange Server 2007
11116 - Exchange 2007 With Service Pack 1

Как можно заметить обновление схемы происходит и при установке набора обновлений SP3 для Exchange Server 2000/2003 и SP1 для Exchange 2007.

Посмотреть значение атрибута «rangeUpper» можно через утилиту DSQuery:

"dsquery * CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,dc=domainname,dc=local -scope base -attr rangeUpper"

Рис. 3 Получение атрибута «rangeUpper» через утилиту DSQuery.

Если после ввода данной команды возвращен ответ, говорящий об отсутствии атрибута «rangeUpper» можно сделать вывод о том, что схема изменена не была.

Процесс обновления схемы является очень важным моментом для каждой организации Active Directory, поэтому следует избегать лишних, неоправданных действий. Понимая сути атрибутов «objectVersion» и «rangeUpper» дает специалисту преимущество при работе с Active Directory в незнакомой организации, а также является вспомогательным инструментом при решении проблем.

Материал предоставлен ресурсом

FSMO-роль хозяин схемы (Schema master) является одной из двух ролей, функционирующих на уровне леса Active Directory. То есть во всем лесе AD необходимо иметь лишь одного хозяина схемы.

Основная статья по Active Directory — . Читайте также другие статьи по ролям хозяев операций — .

Если вам интересна тематика Windows Server, рекомендую обратиться к рубрике на моем блоге.

Schema master — Хозяин схемы Active Directory

А вы знали, что при повреждении схемы AD придется восстанавливать все КД во всем лесу? А ведь это действительно так, вот почему будьте очень аккуратны при внесении изменений в схему. А пока немного теории.

Теория

Поскольку хозяин схемы — роль уровня леса, то в каждом конкретном лесе AD она существует всегда в единственном экземпляре . Другими словами существует только один контроллер домена, который имеет право вносить изменения/обновления в схему, тем не менее реплика схемы присутствует на каждом контроллере домена и при необходимости роль может быть захвачена принудительно любым DC, но об этом позже. На практике изменения схемы происходят крайне редко, например при установке сервера Exchange или других приложений, которые хранят некоторые свои данные (например объекты конфигурации) в AD.

Все-таки что такое схема AD ? Это прежде всего набор объектов и их атрибутов, которые используются для хранения данных. Мало кому это определение что-то объясняет, попробую рассказать более детально на примере. Что такое объект? Например объектами являются учетные записи пользователей или компьютеров. В данном случае в схеме AD находится класс user , который определяет все атрибуты объекта учетной записи пользователя:

Каждая учетная запись пользователя в домене будет иметь все эти атрибуты. Но значения атрибутов могут быть и не заданы. Можно проверить какие атрибуты и их значения имеет моя недавно созданная учетная запись администратора домена. Чтобы это сделать, необходимо зайти в консоль adsiedit.msc и открыть контекст именования по умолчанию. В иерархии находим объект пользователя и открываем его свойства:

Вы можете увидеть, что объект имеет все атрибуты, которые определены в классе user . Если вы сами решили убедиться в сказанном мной и информация у вас различается, то обратите внимание на кнопку Фильтр , возможно у вас показываются не все атрибуты. Например можно сделать так, чтобы отображались атрибуты только имеющие значения. Администрировать объекты через adsiedit.msc не лучшая затея, делайте это через соответствующие оснастки.

Для интереса можно посмотреть атрибуты объекта сервера Exchange 2013, ведь Exchange вносит множество новых классов в схему:

В большинстве случаев вопросы касательно мастера схемы обходят стороной и достаточно лишь знать, что эта роль отвечает за внесение изменений в схему AD. Тем не менее схема изначально создавалась таким образом, чтобы в неё мог вносить изменения кто угодно. То есть сторонние компании могут разрабатывать свои приложения таким образом, чтобы они хранили свои данные в AD. Для этого на официальных источниках есть множество объемных гайдов, некоторые из них доступны и на русском языке.

Лучшие практики

Схема AD имеет принципиально важное значение для работоспособности Active Directory, а потому нуждается в соответствующем администрировании, хоть и о ней в большинстве случаев просто забывают. Ниже сформулированы лучшие практики администрирования схемы.

1) Перед изменением схемы всегда делайте резервное копирование . Перед процессом изменения схемы вы можете отключать все контроллеры домена, разумеется кроме одного, который является хозяином этой роли. После этого делаете резервную копию контроллера домена, выполняете все необходимы изменения и если все прошло удачно, то просто включаете заглушенные ранее DC. Если же что-то пошло не так, просто поднимаете единственный работающий на это время контроллер из резервной копии, включаете остальные и далее исследуете проблему;

На уровне леса роли хозяина схемы и хозяина именования доменов необходимо расположить на одном контроллере домена (они редко используются и должны жестко контролироваться). Кроме того, контроллер, которому присвоена роль хозяина именования доменов, должен одновременно являться сервером глобального каталога. В противном случае некоторые операции, использующие хозяин именования доменов (например создание внучатых доменов), могут завершаться неудачно.

Таким образом, контроллер домена, поддерживающий роль хозяина схемы, должен также отвечать за роль мастера именования доменов и являться глобальным каталогом .

3) Если вы по каким-либо причинам лишились сервера-хозяина схемы, то на любом другом контроллере домена вы можете принудительно захватить эту роль, но помните, что после этого изначальный хозяин схемы не должен появиться в сети .

4) Без крайней на то необходимости не выполняйте изменения схемы вручную . Если это все же нужно сделать в любом случае, см. пункт 1.

От теории плавно переходим к практике.

Администрирование схемы

Прежде всего стоит сказать, что для управления схемой необходимо иметь как минимум права Администратора Схемы (Schema Admin) . Все остальные авторизованные пользователи имеют права только на чтение, хотя в принципе разрешения можно и изменить. Большинство задач администрирования выполняются в оснастке для управления схемой Active Directory, которая недоступная по умолчанию и чтобы её активировать, необходимо зарегистрировать библиотеку schmmgmt.dll . Для этого запускаем командную строку с правами администратора и выполняем:

Visual Basic

regsvr32 schmmgmt.dll

regsvr32 schmmgmt . dll

Получаем оповещение:

После этого в консоли MMC вы сможете найти оснастку Схема Active Directory . Выполнять команду необходимо на каждом контроллере домена, на котором планируется заниматься администрированием схемы.

Допустим у вас два контроллера домена и вы хотите перенести роль хозяина схемы с DC01 на DC02:

  1. Открываем оснастку на DC01, правой кнопкой нажимаем на Схема Active Directory и выбираем Сменить контроллер домена Active Directory;
  2. Далее выбираем контроллер домена, на который мы хотим перенести роль (у меня это DC02, по умолчанию всегда выбирается сервер-владелец роли). Подтверждаем предупреждение;
  3. Снова правой кнопкой на Схема Active Directory, но уже выбираем Хозяин операций… ;
  4. Нажимаем кнопку Сменить.

После этого необходимо подтвердить выбор и получить уведомление об успешном переносе роли.

На этом обзор fsmo-роли хозяин схемы завершен, возможно в ближайшем будущем дополню статью инструкцией по принудительному захвату роли другими контроллерами домена.

Для идентификации пользователей и ресурсов в сети используется служба каталогов. По сравнению с предыдущими версиями Windows в Microsoft Windows 2003 возможности Active Directory значительно расширены. Active Directory представляет собой единое средство уп­равления сетью: она позволяет легко добавлять, удалять и перемещать пользователей и ресурсы.

Знакомство с Active Directory

Средства Active Directory позволят вам спроектировать структуру ка­талога так, как это нужно вашей организации. На этом занятии вы познакомитесь с использованием объектов Active Directory и назна­чением ее компонентов.

Изучив материал этого занятия, вы сможете:

    объяснить назначение атрибутов объекта и схемы Active Directory;

    дать определение и описать функции компонентов Active Directory.

Объекты Active Directory

Подобно всем службам, которые делают информацию доступной и полезной, Active Directory хранит инфор­мацию о сетевых ресурсах. Эти ресурсы, например данные пользова­телей, описания принтеров, серверов, баз данных, групп, компьюте­ров и политик безопасности, и называются объектами (object).

Объект - это отдельный именованный набор атрибутов, которы­ми представлен сетевой ресурс. Атрибуты (attribute) объекта являют­ся его характеристиками в каталоге. Например, атрибуты учетной за­писи пользователя (user account) могут включать в себя его имя и фа­милию, отдел, а также адрес электронной почты (рис. 2-1)

В Active Directory объекты могут быть организованы в классы, то есть в логические группы. Примером класса является объединение объектов, представляющих учетные записи пользователей, группы, компьютеры, домены или организационные подразделения (ОП).

Примечание Объекты, которые способны содержать другие объекты, называются контейнерами (container). Например, домен - это контей­нерный объект, который может содержать пользователей, компьютеры и другие объекты.

Какие именно объекты могут храниться в Active Directory, опре­деляется ее схемой.

Схема Active Directory

Схема Active Directory - это список определений (definitions), задаю­щих виды объектов, которые могут храниться в Active Directory, и типы сведений о них. Сами эти определения также хранятся в виде объектов, так что Active Directory управляем ими посредством тех же операций, которые используются и для остальных объектов в Active Directory.

В схеме существуют два типа определений: атрибуты и классы. Также они называются объектами схемы (schema objects) или мета­данными (metadata).

Атрибуты определяются отдельно от классов. Каждый атрибут оп­ределяется только один раз, при этом его разрешается применять в нескольких классах. Например, атрибут Description используется во многих классах, однако определен он в схеме только однажды, что обеспечивает ее целостность.

Классы, также называемые классами объектов (object classes), опи­сывают, какие объекты Active Directory можно создавать. Каждый класс является совокупностью атрибутов. При создании объекта ат­рибуты сохраняют описывающую его информацию. Например, в чис­ло атрибутов класса User входят Network Address, Home Directory и пр. Каждый объект в Active Directory - это экземпляр класса объектов.

В Windows 2000 Server встроен набор базовых классов и атрибутов. Определяя новые классы и новые атрибуты для уже существующих классов, опытные разработчики и сетевые администраторы могут ди­намически расширить схему. Например, если Вам нужно хранить информацию о пользователях, не определенную в схеме, можно рас­ширить схему для класса Users. Однако такое расширение схемы - Достаточно сложная операция с возможными серьезными последствиями. Поскольку схему нельзя удалить, а лишь деактивировать, и она автоматически реплицируется, вы должны подготовиться и сплани­ровать ее расширение.

Трудно недооценить важность «Схемы Active Directory» для сетей, построенных на базе доменной среды Active Directory. Это основа технологии «AD» и очень важно правильно понимать принципы ее функционирования. Большинство системных администраторов не уделяют схеме должного внимания по причине того, что иметь дело с ней приходится достаточно редко. В данной статье я расскажу, что такое версия схемы, для чего нам необходимо ее знать и самое главное как посмотреть текущую версию. Прежде всего, пару слов о самой схеме, каждый объект, созданный в Active Directory, будь то пользователь или компьютер, имеет определенные параметры, называемые атрибутами. Самым простым примером может служить атрибут «Фамилия» у объекта пользователь. Схема определяет, какие объекты мы можем создавать в Active Directory, и какие атрибуты они будут иметь.

Active Directory допускает использование в рамках одной организации несколько контроллеров домена, построенных на базе разных версий ОС Windows. А именно – на базе Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008. Поскольку данные версии выпускались в разные годы, и каждая новая версия несет больший функционал, чем предыдущая, понимание схемы у каждой операционной системы свое. Поэтому при добавлении нового контроллера на базе Windows Server 2008 в организацию, где существующие контроллеры построены на Windows Server 2003, вам приходилось запускать утилиту «Adprep ». Тем самым вы обновляли схему вашей организации до того уровня, с которым работает Windows Server 2008.

Процесс обновления схемы выполнялся до установки первого контроллера Windows Server 2008 и собственно сама процедура установки нового контроллера, могла и не выполняться. Если вы только начинаете работать с какой-то организацией Active Directory и не знаете, какие действия осуществлялись до вашего прихода, вам для понимания полноты структуры, будет нужно знать, на каком уровне работает Схема текущей организации.

Возможные версии схемы:

13 – Windows 2000 Server
30 – Windows Server 2003 RTM, Windows 2003 With Service Pack 1, Windows 2003 With Service Pack 2
31 – Windows Server 2003 R2
44 – Windows Server 2008 RTM

Даже если все контроллеры в вашей организации работают на Windows Server 2003 R2, а версия схемы показывает «44» не стоит удивляться, это говорит о том, что уже было осуществлено обновление схемы до уровня Windows Server 2008 RTM, но сам контроллер по какой-то причине устанавливать не стали.

Посмотреть версию схемы можно несколькими способами. Самым простым является способ с использованием утилиты «DSQuery». Для этого в командной строке необходимо ввести команду со следующими параметрами:

“dsquery * cn=schema,cn=configuration,dc=domainname,dc=local -scope base -attr objectVersion”

Естественно в части «dc= domainname, dc= local» вы должны подставить имя собственного домена. (Пример: dc= microsoft, dc= com )

Результатом ввода команды является получение атрибута «ObjectVersion », который и будет являться номером версии схемы:

Рис. 1 Получение версии схемы через утилиту «DSQuery».

Второй способ более длинный и подразумевает использование оснастки «ADSIEdit . msc » . Для просмотра версии схемы вам придется подключиться к разделу Active Directory схема.

"CN=Schema,CN=Configuration,DC=domain,DC=local "

И найти значение атрибута "objectVersion ".

Рис.2 Получение версии схемы через оснастку «ADSIEdit . msc ».

Зная версию схему, вы всегда можете с уверенностью сказать нужно ли схему обновлять и если нужно то, до какого уровня.

Следует отметить, что обновления схемы могу производиться программным обеспечением тесно интегрированным с Active Directory. Самый яркий пример Microsoft Exchange Server. И зачастую в организации, планирующей внедрение Exchange Server, необходимо выяснить, была ли осуществлена подготовка схемы? И если была, то какой версией Exchange Server. На текущий момент существуют три версии Exchange, работающие с Active Directory, но вариантов модификации схемы существует шесть.

Понять была ли изме
нена Схема Active Directory Exchange сервером можно по атрибуту «rangeUpper», который принимает следующие значения:

4397 – Exchange Server 2000 RTM
4406 – Exchange Server 2000 With Service Pack 3
6870 – Exchange Server 2003 RTM
6936 – Exchange Server 2003 With Service Pack 3
10628 – Exchange Server 2007
11116 – Exchange 2007 With Service Pack 1

Как можно заметить обновление схемы происходит и при установке набора обновлений SP3 для Exchange Server 2000/2003 и SP1 для Exchange 2007.

Посмотреть значение атрибута «rangeUpper» можно через утилиту DSQuery:

"dsquery * CN=ms-Exch-Schema-Version-Pt, cn=schema, cn=configuration, dc=domainname, dc=local -scope base -attr rangeUpper"

Рис. 3 Получение атрибута «rangeUpper» через утилиту DSQuery.

Если после ввода данной команды возвращен ответ, говорящий об отсутствии атрибута «rangeUpper» можно сделать вывод о том, что схема изменена не была.

Процесс обновления схемы является очень важным моментом для каждой организации Active Directory, поэтому следует избегать лишних, неоправданных действий. Понимая сути атрибутов «objectVersion » и «rangeUpper» дает специалисту преимущество при работе с Active Directory в незнакомой организации, а также является вспомогательным инструментом при решении проблем.

Трудно недооценить важность «Схемы Active Directory» для сетей, построенных на базе доменной среды Active Directory. Это основа технологии «AD» и очень важно правильно понимать принципы ее функционирования. Большинство системных администраторов не уделяют схеме должного внимания по причине того, что иметь дело с ней приходится достаточно редко. В данной статье я расскажу, что такое версия схемы, для чего нам необходимо ее знать и самое главное как посмотреть текущую версию. Прежде всего, пару слов о самой схеме, каждый объект, созданный в Active Directory, будь то пользователь или компьютер, имеет определенные параметры, называемые атрибутами. Самым простым примером может служить атрибут «Фамилия» у объекта пользователь. Схема определяет, какие объекты мы можем создавать в Active Directory, и какие атрибуты они будут иметь.Active Directory допускает использование в рамках одной организации несколько контроллеров домена, построенных на базе разных версий ОС Windows. А именно - на базе Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008. Поскольку данные версии выпускались в разные годы, и каждая новая версия несет больший функционал, чем предыдущая, понимание схемы у каждой операционной системы свое. Поэтому при добавлении нового контроллера на базе Windows Server 2008 в организацию, где существующие контроллеры построены на Windows Server 2003, вам приходилось запускать утилиту “Adprep “. Тем самым вы обновляли схему вашей организации до того уровня, с которым работает Windows Server 2008.

Процесс обновления схемы выполнялся до установки первого контроллера Windows Server 2008 и собственно сама процедура установки нового контроллера, могла и не выполняться. Если вы только начинаете работать с какой-то организацией Active Directory и не знаете, какие действия осуществлялись до вашего прихода, вам для понимания полноты структуры, будет нужно знать, на каком уровне работает Схема текущей организации.

Спонсор поста

Все новинки проката, лучшие фильмы прошлых лет. Лучшие любимое кино на 5ic.ru

Возможные версии схемы:

13 - Windows 2000 Server
30 - Windows Server 2003 RTM, Windows 2003 With Service Pack 1, Windows 2003 With Service Pack 2
31 - Windows Server 2003 R2
44 - Windows Server 2008 RTM

Даже если все контроллеры в вашей организации работают на Windows Server 2003 R2, а версия схемы показывает «44» не стоит удивляться, это говорит о том, что уже было осуществлено обновление схемы до уровня Windows Server 2008 RTM, но сам контроллер по какой-то причине устанавливать не стали.

Посмотреть версию схемы можно несколькими способами. Самым простым является способ с использованием утилиты «DSQuery». Для этого в командной строке необходимо ввести команду со следующими параметрами:

«dsquery * cn=schema,cn=configuration,dc=domainname,dc=local -scope base -attr objectVersion»

Естественно в части «dc= domainname, dc= local» вы должны подставить имя собственного домена. (Пример: dc= microsoft, dc= com )

Результатом ввода команды является получение атрибута “ObjectVersion “, который и будет являться номером версии схемы:

Рис. 1 Получение версии схемы через утилиту «DSQuery».

Второй способ более длинный и подразумевает использование оснастки “ADSIEdit . msc . Для просмотра версии схемы вам придется подключиться к разделу Active Directory схема.

CN=Schema,CN=Configuration,DC=domain,DC=local

И найти значение атрибута “objectVersion “.

Рис.2 Получение версии схемы через оснастку “ADSIEdit . msc “.

Зная версию схему, вы всегда можете с уверенностью сказать нужно ли схему обновлять и если нужно то, до какого уровня.

Следует отметить, что обновления схемы могу производиться программным обеспечением тесно интегрированным с Active Directory. Самый яркий пример Microsoft Exchange Server. И зачастую в организации, планирующей внедрение Exchange Server, необходимо выяснить, была ли осуществлена подготовка схемы? И если была, то какой версией Exchange Server. На текущий момент существуют три версии Exchange, работающие с Active Directory, но вариантов модификации схемы существует шесть.

Понять была ли изменена Схема Active Directory Exchange сервером можно по атрибуту «rangeUpper», который принимает следующие значения:

4397 - Exchange Server 2000 RTM
4406 - Exchange Server 2000 With Service Pack 3
6870 - Exchange Server 2003 RTM
6936 - Exchange Server 2003 With Service Pack 3
10628 - Exchange Server 2007
11116 - Exchange 2007 With Service Pack 1

Как можно заметить обновление схемы происходит и при установке набора обновлений SP3 для Exchange Server 2000/2003 и SP1 для Exchange 2007.

Посмотреть значение атрибута «rangeUpper» можно через утилиту DSQuery:

«dsquery * CN=ms-Exch-Schema-Version-Pt, cn=schema, cn=configuration, dc=domainname, dc=local -scope base -attr rangeUpper»

Рис. 3 Получение атрибута «rangeUpper» через утилиту DSQuery.

Если после ввода данной команды возвращен ответ, говорящий об отсутствии атрибута «rangeUpper» можно сделать вывод о том, что схема изменена не была.

Процесс обновления схемы является очень важным моментом для каждой организации Active Directory, поэтому следует избегать лишних, неоправданных действий. Понимая сути атрибутов “objectVersion ” и «rangeUpper» дает специалисту преимущество при работе с Active Directory в незнакомой организации, а также является вспомогательным инструментом при решении проблем.