Версия Схемы Active Directory. Примитивы хранения данных

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

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

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

Правила именования

Каждый объект Active Directory имеет определенное имя. Для идентификации объектов в Active Directory используются различные схемы именования, а именно:

Составные имена (DN);
-относительные составные имена (RDN);
-глобальные уникальные идентификаторы (GUID);
-основные имена пользователей (UPN).

Каждый объект Active Directory обладает составным именем . Имя является идентификатором объекта и содержит данные, достаточные для нахождения объекта в каталоге. Составное имя включает в себя имя домена, который содержит объект, и полный путь к нему. К примеру, составное имя пользователя Andrew Kushnir в домене server.comможет выглядеть таким образом:
DC=COM/DC=SERVER/CN=Users/CK=Andrew Kushnir

Если полное составное имя объекта неизвестно или изменено, найти объект можно по его свойствам, одно из которых - относительное составное имя (часть составною имени). В предыдущем примере относительным составным именем для объекта Andrew Kushnir будет СК=Andrew Kushnir, а для родительского объекта - CN=Usere.

Кроме составного имени каждый объект Active Directory обладает глобальным уникальным идентификатором (GUID) , представляющим собой 128-разрядное число. Идентификатор не изменяется даже после того, как объект переместили или переименовали. Глобальный уникальный идентификатор является уникальным для всех доменов, в том числе, когда объект перемещается из одного домена в другой домен.
Проще всего запомнить основное имя пользователя (UPN). Основное имя состоит из сокращенного имени пользователя плюс DNS-имя домена, где находится объект. Формат основного имени пользователя следующий:

Имя пользователя, символ суффикс DNS домена

К примеру, основное имя пользователя Andrew Kushnir в домене server. сою могло выглядеть как [email protected]. Основное имя пользователя не зависит от его составного имени, поэтому объект пользователя можно перемещать или переименовывать без необходимости изменять регистрационное имя пользователя в домене.

Для идентификации пользователей и ресурсов в сети используется служба каталогов. По сравнению с предыдущими версиями 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 в незнакомой организации, а также является вспомогательным инструментом при решении проблем.

Как известно — ничего вечного нет, все меняется, особенно в такой отрасли как IT. Развернутая один раз инфраструктура постоянно развивается, расширяется, совершенствуется и наступает момент когда в вашу Active Directory требуется ввести контроллер домена под управлением более поздней версии операционной системы.

Казалось бы — в чем проблема? Но, как показывает практика, проблемы возникают, во многом от того, что системные администраторы слабо владеют теорией и откровенно путаются в данном вопросе. Поэтому самое время разобраться в том, что такое схема AD и какое отношение она имеет к нашему случаю.

Схемой AD называется описание всех объектов каталога и их атрибутов. По существу схема отражает базовую структуру каталога и имеет первостепенное значение для его правильного функционирования.

Новые версии ОС и содержат новые объекты и атрибуты, поэтому для их нормального функционирования в качестве контроллеров домена нам потребуется обновить схему.

Вроде бы понятно, но не совсем, поэтому перейдем к распространненным ошибкам и заблуждениям.

  • Обновление схемы необходимо для включения в домен ПК под управлением более новых версий ОС Windows. Это не так, даже самые последние версии Windows могут вполне успешно рабоать в домене уровня Windows 2000 без обновления схемы. Хотя, если вы все-таки обновите схему, то ничего страшного не произойдет.
  • Для включения в домен контроллера под управлением более новой ОС требуется повысить уровень работы домена (леса). Это тоже не так, но в отличие от предыдущего случая, данная операция сделает невозможным использование контроллеров домена под управлением ОС ниже, чем режим его работы. Поэтому в случае ошибки вам придется восстанавливать вашу структуру AD из резервной копии.

Также заострим ваше внимание на режиме работы леса и домена. Домены входящие в лес могут иметь различные режимы работы, например один из доменов может работать в режиме Windows 2008, а остальные в режиме Windows 2003. Схема работы леса не может быть выше, чем схема работы самого старого домена. В нашем примере режим работы леса не может быть выше, чем Windows 2003.

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

Ознакомившись с теорией, перейдем к практическому примеру. Допустим у нас есть домен уровня Windows 2000 (смешаный режим) — самый низкий уровень AD — в котором имеется контроллер под управлением Windows 2003, а наша цель — создать новый контроллер взамен вышедшего из строя.

Новый сервер работает под управлением Windows 2008 R2. Заметьте, у нас не возникло никаких сложностей по включению данного сервера в существующий домен.

Однако при попытке добавить новый контроллер домена мы получим ошибку:

Для успешного включения контроллера под управлением более новой версии ОС нам потребуется обновить схему леса и схему домена. Исключение составляет Windows Server 2012, который при добавлении нового контроллера домена произведет обновление схемы самостоятельно.

Для обновления схемы используется утилита Adprep которая находится в папке \support\adprep на установочном диске Windows Server. Начиная с Windows Server 2008 R2 эта утилита по умолчанию 64-разрядная, при необходимости использовать 32-разрядную версию следует запускать adprep32.exe .

Для выполнения обновления схемы леса данная утилита должна быть запушена на Хозяине схемы , а для обновления схемы домена на Хозяине инфраструктуры . Чтобы узнать какие из контроллеров имеют необходимые нам роли FSMO воспользуемся командой:

Netdom query FSMO

В Windows 2008 и новее данная утилита устанвлена по умолчанию, а в Windows 2003 ее нужно установить с диска из директории \support\tools

Результатом вывода данной команды будет перечисление всех ролей FSMO и контроллеров имеющих данные роли:

В нашем случае все роли находятся на одном контроллере, поэтому копируем папку \support\adprep на жесткий диск (в нашем случае в корень диска C:) и приступаем к обновлению схемы леса. Для успешного выполнения операции ваш аккаунт должен входить в группы:

  • Администраторы схемы
  • Администраторы предприятия
  • Администраторы домена, в котором находится хозяин схемы

Чтобы обновить схему леса выполните команду:

C:\adprep\adprep /forestprep

Ознакомьтесь со стандартным предупреждением и продолжите нажав C , затем Enter .

Начнется процесс обновления схемы. Как видим ее версия изменится с 30 (Windows 2003) до 47 (Windows 2008 R2).

После обновления схемы леса следует обновить схему домена. Перед этим следует убедиться что домен работает как минимум в режиме Windows 2000 (основной режим). Как помним, у нас домен работает в смешанном режиме, поэтому следует изменить режим работы домена на основной или повысить его до Windows 2003. Так как в данном домене у нас нет контроллеров под управлением Windows 2000, то наиболее разумно будет повысить режим домена.

Для успешного обновления схемы домена эту операцию следует производить на Хозяине инфраструктуры и иметь права Администратора домена . Выполняем команду:

C:\adprep\adprep /domainprep

И внимательно читаем выводимую информацию. Обновляя схему домена с уровня Windows 2000 или Windows 2003 необходимо выполнить изменение разрешений файловой системы для групповых политик. Данная операция производится один раз и в дальнейщем, например обновляя схему с уровня 2008 на 2008 R2, выполнять ее нужно. Для обновления разрешений объектов GPO введите команду:

С:\adprep\adprep /domainprep /gpprep

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

Данную операцию можно выполнить на любом контроллере домена, однако вы должны входить в группу Администраторы предприятия и Хозяин именований и Хозяин инфраструктуры должны быть доступны.

C:\adprep\adprep /rodcprep

Как видим, обновление схемы домена, будучи правильно спланировано не вызывает каких либо затруднений, однако в любом случае следует помнить, что это необратимая операция и иметь под рукой необходимые резервные копии.
Источник http://interface31.ru/tech_it/2013/05/obnovlenie-shemy-active-directory.html