Как получить доступ к объектам с помощью поставщика ADSI LDAP, используя механизм ADO

Переводы статьи Переводы статьи
Код статьи: 187529 - Vizualiza?i produsele pentru care se aplic? acest articol.
Данная статья была ранее опубликована под номером RU187529
Развернуть все | Свернуть все

В этой статье

Аннотация

Поставщик Active Directory Service Interfaces (ADSI) Lightweight Directory Access Protocol (LDAP) поддерживает интерфейсы на основе OLE DB, позволяющие получать доступ к объектам LDAP Compliant Directories, используя ADO. Вы должны создать объект подключения ADO и установить значение "ADsDSOObject" для свойства "Provider". Вы можете указать любую строку, включая пустую, в качестве строки подключения (первого аргумента) для метода "Open" объекта подключения ADO.

Объект "CommandText" метода "Execute" объекта подключения представляет собой запрос LDAP, состоящий из четырых элементов, разделенных точкой с запятой, и представленных в следующем формате:
<LDAP://server/adsidn>;ldapfilter;attributescsv;scope
где:
  • "server" - имя (или IP-адрес) сервера, выполняющего роль ведущего узла.
  • "adsidn" - это отличительное имя (DN) начальной точки запроса в формате ADsPath c разделителями в виде "/" и корневым пространством имен в левой части. Вы можете, также, использовать формат имен с атрибутами в стиле Х.500 с относительными отличительными именами, разделенными запятыми, и корневым пространством имен справа.
  • "ldapfilter" - строка фильтра LDAP (обратитесь к спецификации "rfc2254").
  • "attributescsv" - список названий атрибутов, разделенных запятыми, которые должны быть возвращены для каждой строки в наборе записей.
  • "scope" - любое из следующих значений: "base", "onelevel" или "subtree". Примечание: Спецификация "rfc2253" описывает синтаксис LDAP, на котором основан синтаксис ADSI LDAP.


Для возврата значения ADsPath, класса и атрибутов всех объектов во всех контейнерах получателей на сервере Exchange Вы можете использовать объект CommandText (в формате URL):
LDAP:<//server/o=organization/ou=site/cn=recipients>;
(objectClass=*);ADsPath,objectClass,cn;subtree''
или (в формате атрибутов имен):
<LDAP://server/cn=recipients,ou=site,o=organization>, _
(objectClass=*);ADsPath,objectClass;subtree

Дополнительная информация

Следующий пример кода на MS Visual Basic иллюстрирует данный запрос:

Пример кода

      Dim conn As ADODB.Connection
      Dim rs As ADODB.Recordset

      Set conn = New ADODB.Connection
      conn.Provider = "ADSDSOObject"
      conn.Open "ADs Provider"

      Set rs = conn.Execute( _
            "<LDAP://server/o=organization/ou=site/cn=recipients>;" _
            & "(objectClass=*);ADsPath,objectClass,cn;subtree")

      While Not rs.EOF
         Debug.Print rs.Fields(0).Value, rs.Fields(1).Value, _
               rs.Fields(2).Value
         rs.MoveNext
      Wend

      conn.Close

Ссылки

За дополнительной информацией по общим положениям спецификаций LDAP RFC, включая спецификации "RFC 2253" и "RFC 2254", обратитесь к следующей статье Microsoft Knowledge Base:
221606 Common LDAP RFCs
За дополнительной информацией обратитесь к следующей статье Microsoft Knowledge Base:
275917 PRB: ADSI 2.5 and MDAC 2.6 Compatibility Issues

Свойства

Код статьи: 187529 - Последний отзыв: 18 августа 2003 г. - Revision: 2.1
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Active Directory Service Interfaces 2.0
  • Microsoft ActiveX Data Objects 1.5
  • Microsoft ActiveX Data Objects 2.0
  • Microsoft ActiveX Data Objects 2.1 Service Pack 2
  • Microsoft ActiveX Data Objects 2.5
Ключевые слова: 
kbhowto kbado150 kbado200 kbado210sp2 kbado250 kbadsi kbtophit kbvbp500 kbgrpdsvbdb kbvbp600 kbmdacnosweep kbatm KB187529

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com