Lista de usuários do Active Directory
Olá a todos, estou precisando listar os usuários cadastrados no Active Directory de determinada maquina, até ai sem problemas, faço conexão com o ADO e tudo certo, consigo trazer os usuário, porém isso apenas dá certo quando deixo o ´SQL´ pronto na query, por algum motivo, sempre tenho um erro ao montar a consulta em tempo de execução o que é necessário pois não posso deixar o endereço do servidor fixo, além do que eu gostaria de permitir ao usuário consultar determinado nome, por meio do ´SQL´
SELECT que estou usando fixo, assim tudo ok:
Select Name from ´LDAP://192.168.1.106 where objectclass=´user´
Quando tento montar em tempo de execução:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := ´ SELECT Name ´+
´ FROM ´+QuotedStr(´LDAP://´+vg_dominio)+
´ WHERE objectClass = ´+QuotedStr(´user´)+
´ AND UPPER( Name ) LIKE ( CASE WHEN ´+QuotedStr(vl_aux)+ ´ = ´ +QuotedStr(´ ´)+
´ THEN UPPER( Name )´+
´ ELSE ´+QuotedStr(vl_aux)+
´ END) ´+
´ ORDER BY Name ´;
ADOQuery1.Open;
Já tentei de outras formas porém sempre ocorre uma exceção quando atribuo o novo código, parece até algum erro com o ADO, para as minhas consultas ao banco de dados eu uso dbexpress, estou usando o ADO apenas por causa do AD, se alguém tiver idéia do porque do erro ou mesmo uma solução alternativa para meu problema eu agradeço, fico no aguardo abraços...
SELECT que estou usando fixo, assim tudo ok:
Select Name from ´LDAP://192.168.1.106 where objectclass=´user´
Quando tento montar em tempo de execução:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := ´ SELECT Name ´+
´ FROM ´+QuotedStr(´LDAP://´+vg_dominio)+
´ WHERE objectClass = ´+QuotedStr(´user´)+
´ AND UPPER( Name ) LIKE ( CASE WHEN ´+QuotedStr(vl_aux)+ ´ = ´ +QuotedStr(´ ´)+
´ THEN UPPER( Name )´+
´ ELSE ´+QuotedStr(vl_aux)+
´ END) ´+
´ ORDER BY Name ´;
ADOQuery1.Open;
Já tentei de outras formas porém sempre ocorre uma exceção quando atribuo o novo código, parece até algum erro com o ADO, para as minhas consultas ao banco de dados eu uso dbexpress, estou usando o ADO apenas por causa do AD, se alguém tiver idéia do porque do erro ou mesmo uma solução alternativa para meu problema eu agradeço, fico no aguardo abraços...
Du_nirvana
Curtidas 0
Respostas
Nasguone
17/03/2008
de uma olhada neste link possivelmente te ajude com que vc quer fazer
http://www.agnisoft.com/white_papers/active_directory.asp
http://www.agnisoft.com/white_papers/active_directory.asp
GOSTEI 0