Bonjour,
A l'aide de l'exemple ci dessous, je tente d'accéder aux données utilisateurs de mon active directrory.
--->Bonjour, --->j'utilise la méthode suivante : --->les champs ---><Adresse Ip d'un serveur ayant l'active directory> = "10.0.145.10" par --->exemple ---><toto.com> nom du domaine complet chez moi c'est bopack.com ---><toto> premiere partie du nom de domaine bopack dans mon cas ---><com> no comment ! --->je met tout dans un arbre mais bon le tout c'est qu'apres HExécuteRequête... --->on à tout A CONDITION QUE MDAC 2.6 mini fonctionne bien sur le poste
--->PROCEDURE ReadAdsi() --->ipADSI est une chaîne = INILit("SERVEUR_ADSI","ADRESSE",<Adresse Ip de mon --->PDC>,FichierIni) --->sdADSI est une Source de Données --->Requete est une chaîne ="select Company,Department,GivenName, Initials, Sn, --->TelephoneNumber,FacsimileTelephoneNumber,"+.... --->"IpPhone,Mobile,HomePhone,Mail,Pager,Manager from --->'LDAP://OU=<toto.com>,DC=<toto>, DC=<com>' where objectCategory='Person' --->and objectClass='user'" --->LigneMem, LigneArbre est une chaîne --->INIEcrit("SERVEUR_ADSI","ADRESSE",ipADSI,FichierIni) --->Sablier(True) --->Message("Lecture de l'annuaire...") --->HDécritConnexion("ADSI","","",ipADSI,"","ADsDSOObject") --->HOuvreConnexion("ADSI") --->IF HExécuteRequêteSQL(sdADSI,"ADSI",hRequêteSansCorrection,Requete) THEN --->HLitPremier(sdADSI) --->WHILE NOT HEnDehors(sdADSI) --->IF sdADSI.Company<>"" AND sdADSI.Department<>"" THEN --->LigneArbre =Majuscule(sdADSI.Company+TAB+sdADSI.Department+TAB+sdADSI.Sn+" --->"+sdADSI.GivenName) --->ArbreAjoute(MainForm.ARBRE,LigneArbre) --->LigneMem =sdADSI.Department+TAB+sdADSI.Sn+TAB+sdADSI.GivenName+TAB +....
-->sdADSI.TelephoneNumber+TAB+sdADSI.FacsimileTelephoneNumber+TAB+sdADSI.IpPho n e+TAB+...
--->sdADSI.Mobile+TAB+sdADSI.HomePhone+TAB+sdADSI.Mail+TAB+sdADSI.Pager --->MemAjoute("ADSI",LigneArbre,LigneMem) --->MemTrie("ADSI") --->END --->HLitSuivant(sdADSI) --->END --->ELSE --->Erreur(HErreurInfo(hErrComplet)) --->END
--->HFermeConnexion("ADSI")
Hélas, il m'est impossible d'executer la requete:
SELECT sn FROM 'LDAP://OU=PEOPLE,DC=fr,DC=...WHERE...
Il semble que le mot LDAP://OU=PEOPLE ...soit inattendu.
De plus j'ai aussi essayé l'exemple utilisant OLEDB, à chaque fois ma reqête semble poser problème. La connection est établie mais impossible de récuperer une information.
Avez vous eu des problémes simillaires lors de votre connection à active directory?
Pour ceux qui se demanderait pourquoi je n'utilise pas la lst 57, c'est tout simplement parceque mon developpement doit etre porté sur un unix. Donc hors de question pour moi d'utiliser le framwork .net (meme si il existe des emulateurs, je ne veux pas rajouter une couche logiciel sur mon serveur).
Cordialement. |