Buscar

Consultar Active Directory pelo delphi

Código

{ É possível efetuar consultas no AD(Active Directory) pelo delphi e é também muito simples.
No exemplo abaixo será necessário adicionar um button e um memo. }


procedure TForm1.Button1Click(Sender: TObject);
var
  Conexao: TADOConnection;
  Query: TADOQuery;
begin
  try
    try
      Conexao := TADOConnection.Create(nil);
      Conexao.ConnectionString := 'Active Directory Provider';
      Conexao.Provider := 'ADsDSOObject';
      Query := TADOQuery.Create(nil);
      Query.Connection := Conexao;
      with Query do
        begin
          Close;
          SQL.Clear;
          {o select abaixo é para consultar o nome de objetos do tipo user. É possível consultar vários tipos
           de classes e atributos. Para mais informações acessem http://msdn.microsoft.com/en-us/library/ms675085(VS.85).aspx}

          SQL.Text := 'SELECT name FROM ' + QuotedStr('LDAP://brb') +
                      ' WHERE objectClass = ' + QuotedStr('user');
          Open; {Obs.: Ocorre uma exceção nesta linha, quando o programa está sendo debugado, porém, quando
                o programa é executado direto pelo exe funciona normalmente. Não conseguir desvendar este
                mistério ainda, qualquer sugestão postem por favor.}

        end;
      if not Query.IsEmpty then
        begin
          //exibir o resultado da consulta em um Memo
          while not Query.Eof do
            begin
              Memo1.Lines.Add(Query.FieldbyName('name').AsString);
              Query.Next;
            end;
        end;
    except on e:exception do
      MessageBox(handle, PAnsiChar('Ocorreu um erro na consulta: '+e.message), 'Consulta AD', MB_OK + MB_ICONERROR);
    end;
  finally
    FreeAndNil(Conexao);
    FreeAndNil(Query);
  end;
end;
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Rede
Adicionada dia: 17/06/09
Por: Wallace
Visualizada: 11191 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009