Pesquisando no Active Directory

Uma função importante do Active Directory é resolver consultas de dados para pessoas, bem como dados de configuração para computadores e serviços. Para escrever consultas eficientes para o Active Directory, é útil estar familiarizado com o seguinte:

  • Determinando o escopo da consulta: o cliente deve localizar propriedades para objetos que podem estar localizados em qualquer lugar dentro de uma floresta, ou apenas dentro de um domínio, ou dentro de uma determinada unidade organizacional (UO)?
  • Determinando a profundidade da consulta: A consulta deve pesquisar apenas um nível ou pode cruzar para outros diretórios LDAP?
  • Desempenho e manipulação de grandes conjuntos de resultados: Como o cliente deve lidar efetivamente com o potencial de um grande conjunto de resultados?
  • Determinando as melhores consultas: que tipo de consultas fornecem os resultados mais eficientes? Que tipo de consultas o desenvolvedor deve evitar?
  • Compreendendo a sintaxe da consulta: ADSI oferece suporte à sintaxe LDAP, conforme documentado na RFC 2254, bem como a um subconjunto de SQL.
  • Escolha de interfaces: ADSI fornece suporte a OLE DB, bem como uma interface C/C++ chamada IDirectorySearch. Como o ADSI funciona para vários namespaces, você pode usar essas interfaces para consultar outros namespaces, como o Exchange, bem como o Active Directory. Como o ActiveX Data Object (ADO) é um modelo de objeto de acesso a dados com script simples sobre o OLE DB, as interfaces OLE DB funcionam bem para programadores do Visual Basic e escritores de script de página da Web. Os novos recursos de acesso a dados nos aplicativos do Visual Studio e do Office que aproveitam o ADO e o OLE DB agora podem acessar dados do Active Directory da mesma forma que acessam dados de outros provedores OLE DB, como o SQL Server. No entanto, se um desenvolvedor C/C++ deve executar uma pesquisa de diretório simples, a interface IDirectorySearch pode ser mais apropriada do que as interfaces OLE DB.

Os tópicos a seguir descrevem como pesquisar no Active Directory para garantir que seu aplicativo emita a consulta mais eficiente, considerando os requisitos do cliente: