Объекты активного каталога являются строго типизированными. Схема определяет типы объектов, обязательные и необязательные атрибуты, а также синтаксис и ограничения атрибутов. Сама схема хранится как объекты в хранилище данных активного каталога. В схеме можно различить объекты схемы классов и схемы атрибутов. Класс является совокупностью атрибутов. С помощью классов поддерживается одиночное наследование. Как можно видеть на следующей диаграмме классов, класс user
является производным от класса organizationalPerson
, organizationalPerson
является подклассом person
, а базовым классом для всех является top
. Класс classSchema
, который определяет класс, описывает атрибуты с помощью атрибута systemMayContain
.
На диаграмме перечислены лишь немногие из всех значений systemMayContain
только для того, чтобы передать идею конструкции. Можно легко найти все значения с помощью ADSIEdit
. По корневому классу top
видно, что каждый объект может иметь атрибуты общее имя (cn
), displayName
, objectGUID
, whenChanged
и whenCreated
. Класс Person
является производным от top
. Объект Person
имеет также пароль userPassword
и telephoneNumber
. organizationalPerson
является производным от Person
. В дополнение к Person
он имеет manager
, department
, company
, a user
имеет атрибуты, необходимые для регистрации в системе:
Управление активным каталогом
На самом деле мы не будем говорить об управлении активным каталогом. За управление отвечают системные администраторы Windows 2000, а мы хотим поговорить о программировании активного каталога. Однако рассмотрение некоторых инструментов управления может помочь понять, что такое активный каталог, какие данных в нем находятся, и что можно сделать программным путем.
Системный администратор имеет множество инструментов для ввода новых данных, обновления данных и для конфигурирования активного каталога. С помощью инструмента Active Directory Users and Computers (Пользователи и компьютеры активного каталога) можно обновить данные о пользователях и ввести новых пользователей. Инструмент Active Directory Sites and Services используется для конфигурирования сайтов в домене и репликации между этими сайтами. ActiveDirectory Domains and Trusts может применяться для создания доверительных отношений между доменами в дереве. Редактором реестра для активного каталога, где можно просмотреть и отредактировать каждый объект, является ADSI Edit. В дополнение к инструментам системного администратора имеется инструмент в SDK платформы Microsoft: ADSI Viewer.
Active Directory Users and Computers
Утилита Active Directory Users and Computers является инструментом, который в основном служит системным администраторам для управления своими пользователями. Start|Programs|Administrative Tools| Active Directory Users and Computers:
С помощью этой утилиты можно добавлять новых пользователей, группы, контакты, организационные единицы, принтеры, общие папки, компьютеры, и модифицировать существующие. На изображении ниже можно видеть атрибуты, которые вводятся для объекта пользователь (user): офис, номера телефонов, адреса e-mail, web-страницы, информация об организации, адреса, группы и т.д., т.е. значительно больше информации, чем было возможно в домене NT 4:
Утилита Active Directory Users and Computers может также использоваться на больших предприятиях с миллионами объектов. Не обязательно просматривать список с тысячами объектов, можно выбрать специальный фильтр, чтобы выводились только некоторые объекты. Можно также сделать запрос LDAP для поиска объектов на предприятии.
ADSI Edit
ADSI Edit является редактором реестра активного каталога. Эта утилита не устанавливается автоматически. На компакт-диске Windows 2000 Server можно найти каталог с именем Supporting Tools
. Когда утилиты поддержки будут установлены, ADSI Edit можно будет найти в меню: Start| Programs|Windows 2000 Support Tools|Tools|ADSI Edit.
Простая в использовании утилита Active Directory Users and Computers имеет фиксированный интерфейс пользователя для изменения атрибутов объектов пользователя. Мы не увидим атрибутов, которые добавляются к схеме в интерфейсе пользователя этой утилиты, управляемом мышью. Все можно сконфигурировать с помощью ADSI Edit, мы можем также просмотреть схему и конфигурацию. Эта утилита, однако, не так проста в использовании, и очень легко ввести неправильные данные:
Открывая окно Properties (Свойства) объекта, можно изменить любой атрибут объекта в активном каталоге. Мы видим обязательные, дополнительные атрибуты, типы и значения атрибутов:
ADSI Viewer
Установим также браузер активного каталога как часть SDK платформы Microsoft. SDK платформы Microsoft не является частью дистрибутива Visual Studio.NET. Вы получаете компакт-диск с подпиской на MSDN или загружаете его с web-сайта MSDN. После установки SDK платформы можно запустить утилиту с помощью пункта меню Start|Programs|Microsoft Platform SDK|Tools|ADSI Viewer.
ADSI Viewer имеет два режима. С помощью File|New можно запустить запрос или использовать Object Viewer для вывода и изменения атрибутов объектов. После запуска Object Viewer можно определить путь доступа LDAP, а также имя пользователя и пароль, чтобы открыть объект. Вскоре, когда мы начнем делать это программным путем, вы увидите, какую форму может иметь путь доступа LDAP. Здесь определяется LDAP://OU=Wrox Press, DC=eichkogelstrasse, DC=local
, чтобы получить доступ к объекту организационной единицы:
Если определяемый объект с путем доступа и именем пользователя и паролем является допустимым, мы получаем экран Object Viewer где можно видеть и изменять свойства объекта и объектов-потомков: