C# для профессионалов. Том II
Шрифт:
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
ADSI Edit
ADSI Edit является редактором реестра активного каталога. Эта утилита не устанавливается автоматически. На компакт-диске Windows 2000 Server можно найти каталог с именем
Простая в использовании утилита 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. Здесь определяется
Если определяемый объект с путем доступа и именем пользователя и паролем является допустимым, мы получаем экран Object Viewer где можно видеть и изменять свойства объекта и объектов-потомков:
Интерфейсы службы активного каталога (ADSI)
Интерфейсы службы активного каталога (ADSI) являются программным интерфейсом к службам каталога. ADSI определяет некоторые интерфейсы COM, которые реализуются провайдерами ADSI. Это означает, что клиент может использовать различные службы каталога с одними и теми же программными интерфейсами. Классы среды .NET в пространстве имен
На следующем рисунке можно видеть некоторых провайдеров ADSI (LDAP, WinNT, NDS), которые реализуют интерфейсы COM, такие как
Программирование активного каталога
Чтобы разрабатывать программы для активного каталога, мы используем классы из пространства имен
В следующих сегментах кода простое консольное приложение C# демонстрирует применение классов в пространстве имен
Классы в System.DirectoryServices
Следующая таблица показывает основные классы в пространстве имен
Класс | Описание |
---|---|
DirectoryEntry | Этот класс является основным классом в пространстве имен System.DirectoryServices . Объект этого класса представляет объект в хранилище активного каталога. Мы используем этот класс для связывания с объектом, просмотра и обновления свойств. Свойства объекта представлены в PropertyCollection . Каждый элемент в PropertyCollection имеет в свою очередь PropertyValueCollection . |
DirectoryEntries | DirectoryEntries является коллекцией объектов DirectoryEntry . Свойство Children объекта DirectoryEntry возвращает список объектов в коллекцию DirectoryEntries . |
DirectorySearcher | Этот класс является основным классом, используемым для поиска объектов со специфическими атрибутами. Чтобы определить поиск, можно использовать класс SortOption и перечисления SearchScope , SortDirection и ReferalChasingOption . Результаты поиска находятся в классе SearchResult или SearchResultCollection . Мы также получаем объекты ResultPropertyCollection и ResultPropertyValueCollection . |
Связывание
Чтобы получить значения объекта в активном каталоге, мы должны соединиться с активным каталогом. Процесс соединения называется связыванием. Путь доступа связывания может выглядеть следующим образом:
Во время процесса связывания можно определить следующие позиции:
□ Протокол, определяющий используемого провайдера.
□ Имя сервера контроллера домена.
□ Номер порта серверного процесса.
□ Известное имя объекта для идентификации объекта, к которому требуется доступ.
□ Имя пользователя и пароль, если требуется другой пользователь для доступа к активному каталогу.
□ Можно также определить тип аутентификации, если требуется шифрование.
Протокол
Первая часть пути связывания определяет провайдера ADSI. Провайдер реализован как сервер COM; для идентификации можно найти идентификатор программы прямо в ключе
Протокол | Описание |
---|---|
LDAP | Сервер LDAP, такой как каталог Exchange и сервер активного каталога Windows 2000. |
GC | GC применяется для доступа к глобальному каталогу в активном каталоге. Он может использоваться для быстрых запросов. |
IIS | С помощью провайдера ADSI для IIS можно создавать новые web-сайты в каталоге IIS. |
WinNT | Чтобы получить доступ к базе данных пользователей старых доменов Windows NT 4, можно использовать провайдера ADSI для WinNT, Факт, что пользователи NT 4 имеют только несколько атрибутов, остается неизменным. |
NDS | Этот идентификатор программы используется для коммуникации со службами каталогов Novell. |
NWCOMPAT | С помощью NWCOMPAT можно получить доступ к старым каталогам Novell: Novell Netware 3.x. |