PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → acitve directory sans la technologie .net
acitve directory sans la technologie .net
Débuté par Meziani Nabil, 19 jan. 2005 10:50 - 1 réponse
Posté le 19 janvier 2005 - 10:50
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.
Posté le 10 juin 2005 - 18:04
personnellement, j'exécute un programme C qui va faire une requete sur l'AD et mettre le résultat dans un fichier texte.
Une fois le fichier créé, je le lit via webdev et le tour est joué.
C'est rapide et fiable.