PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV 2024 → acitve directory sans la technologie .net
acitve directory sans la technologie .net
Iniciado por nmeziani, 19,ene. 2005 10:50 - 1 respuesta
Publicado el 19,enero 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.
Publicado el 10,junio 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.