Трудно недооценить важность «Схемы 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 в незнакомой
организации, а также является вспомогательным инструментом при решении
проблем.
|