Поделиться через


Доступ к данным и управление ими с помощью ADSI

Все объекты имеют свойства. Все com-объекты интерфейса службы Active Directory (ADSI) имеют один или несколько интерфейсов с методами, которые извлекают свойства объекта каталога, который представляет COM-объект. Существует несколько способов чтения свойств из объекта:

  • Получение определенного свойства по имени: интерфейс IADs имеет два метода IADs::Get и IADs::GetEx для чтения определенного свойства. Каждый COM-объект ADSI имеет интерфейс IADs.
  • Получение указанного списка свойств: интерфейс IDirectoryObject имеет метод IDirectoryObject::GetObjectAttributes, позволяющий указать список, содержащий имена свойств для чтения и возврата массива структур, содержащих запрошенные значения свойств.
  • Перечислить все свойства объекта: интерфейс IADsPropertyList позволяет перечислять все свойства объекта.
  • Получить специальные свойства: интерфейсы автоматизации (IADs*) имеют методы свойств, которые позволяют получать специальные свойства, которые не хранятся в объекте. Или методы свойств могут позволить получить свойство объекта в формате данных, отличающемся от фактического типа данных, сохраненного. Например, интерфейс IADs имеет методы свойств, такие как IADs::get_Name, который получает относительное отличающее имя объекта (RDN); IADs::get_Class, который получает класс объекта и IADs::get_Parent, который получает ADsPath родительского объекта.

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

После получения свойства вы считываете его значение. Тип данных свойства зависит от определения свойства (также известного как атрибут) в схеме Active Directory. Для каждого типа свойства, которое может существовать в Active Directory, в схеме Active Directory имеется объект класса attributeSchema. Объект attributeSchema определяет характеристики атрибута. Одним из этих характеристик является синтаксис атрибута, который определяет тип данных значений атрибута. Дополнительные сведения см. в разделе Характеристики атрибутов и синтаксисов атрибутов Active Directory.

Интерфейсы автоматизации (IADs*) возвращают значение свойства в виде VARIANT или указателя на интерфейс автоматизации на com-объекте, представляющего это свойство. Интерфейсы IDirectoryObject и IDirectorySearch возвращают свойство в виде указателя на структуру, содержащую типизированное значение свойства, или указателя на строку байтов. Кроме того, IDirectoryObject и IDirectorySearch получают свойства непосредственно с сервера каталогов вместо использования локального кэша свойств.

В этом разделе описаны следующие разделы: