|
Débuté par syl, 02 juin 2005 13:30 - 10 réponses |
| |
| | | |
|
| |
Posté le 02 juin 2005 - 13:30 |
Bonjour,
Je souhaiterais consulter un annuaire lpad pour récupérer le nom des utilisateurs et leurs groupes.
Mais, j'ai un problème, je n'arrive pas savoir comment il faut faire. Sur le forum, j'ai vu des choses intéressantes, mais je ne comprends pas beaucoup de choses.
J'aimerais avec un peu aide sur les différentes étapes qu'il faut effectuer --> les grandes lignes avec les fonctions les plus importantes.
Merci d'avance
Syl |
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 13:56 |
Bonjour,
Moi je me sert d'une requête ADSI pour lire dans LDAP. Crée une fenêtre sur laquelle tu met : - 1 Table avec 2 colonnes (ici Tbl_User) - 1 bouton copie le code ci-desous dans ton bouton, change les info pour le serveur, le compte, le pasword... Bien entendu tu peux charger d'autres champs que le nom (sn) et le prénom (givenName) en modifiant la requête.
PS : Tu dois avoir Mdac d'installé (Normalement si tu as XP il n'y a pas de problème)
//---------------------------------------------------------------------------------------------- Résultat est un booléen ipADSI est une chaîne = "AdresseServeur" UserADSI et une chaine = "CompteUserADMIN" PasswordADSI est une chaîne = "MotDePasseDuCompte" sdADSI est une Source de Données
//genere la requete Requete est une chaîne ="SELECT sn,givenName FROM 'LDAP://OU=Users,DC=fr,DC=corp,DC=local'"
//lance la recherche dans LDAP Message("Recherche les comptes dans Active Directory...") HDécritConnexion("ADSI",UserADSI,PasswordADSI,ipADSI,"","ADsDSOObject",hOLecture) Résultat = HOuvreConnexion("ADSI") SI HExécuteRequêteSQL(sdADSI,"ADSI",hRequêteSansCorrection,Requete) ALORS HLitPremier(sdADSI) TANTQUE PAS HEnDehors(sdADSI) TableAjouteLigne(tbl_User,sdADSI.sn,sdADSI.givenName) HLitSuivant(sdADSI) FIN SINON Erreur(HErreurInfo(hErrMessage)) FIN HFermeConnexion("ADSI") Message() //---------------------------------------------------------------------------------------------- |
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 14:13 |
Rebonjour,
Merci beaucoup, je vais essayer ta proposition.Je te redirais quoi.
Cordialement
Syl |
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 14:43 |
Je viens d'essayer le code, mais j'ai un probleme au niveau de la requete.
j'ai comme erreur : Erreur de l'accès OLE DB, numéro d'erreur 170129.
Si tu as une petite idée au cas où, pour ma part, je fais essayer de voir ce qui ne va pas.
Sinon, ca décrit quoi ce code : 'LDAP://OU=Users,DC=fr,DC=corp,DC=local'
Syl |
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 14:51 |
Utilise LDAP et non MDAC c'est un méga conseil (MDAC plante sur certains PC et pas d'autre LDAP fonctionne partout !!!) regarde dans le forum j'ai envoyé à "Cédric - LDAP Récupérer le logon" tout ce qu'il te faut !
POUR INFORMATION ADSI Active Directory Service Interfaces c'est l'annuaire et LDAP Lightweight Directory Access Protocol est un protocol
donc parler de "> Moi je me sert d'une requête ADSI pour lire dans LDAP." est complétement erroné........ Si tu veux j'ai besoin de testeur pour mes fonctions LDAP....
"Julien SIMON" <julien.simon@alvea.fr> a écrit dans le message de news:429ecba6$1@news.pcsoft.fr...
Bonjour,
Moi je me sert d'une requête ADSI pour lire dans LDAP. Crée une fenêtre sur laquelle tu met : - 1 Table avec 2 colonnes (ici Tbl_User) - 1 bouton copie le code ci-desous dans ton bouton, change les info pour le serveur,
le compte, le pasword... > Bien entendu tu peux charger d'autres champs que le nom (sn) et le prénom (givenName) en modifiant la requête.
PS : Tu dois avoir Mdac d'installé (Normalement si tu as XP il n'y a pas
de problème)
//-------------------------------------------------------------------------- --------------------
Résultat est un booléen ipADSI est une chaîne = "AdresseServeur" UserADSI et une chaine = "CompteUserADMIN" PasswordADSI est une chaîne = "MotDePasseDuCompte" sdADSI est une Source de Données
//genere la requete Requete est une chaîne ="SELECT sn,givenName FROM 'LDAP://OU=Users,DC=fr,DC=corp,DC=local'"
//lance la recherche dans LDAP Message("Recherche les comptes dans Active Directory...")
HDécritConnexion("ADSI",UserADSI,PasswordADSI,ipADSI,"","ADsDSOObject",hOLec ture)
Résultat = HOuvreConnexion("ADSI") SI HExécuteRequêteSQL(sdADSI,"ADSI",hRequêteSansCorrection,Requete) ALORS HLitPremier(sdADSI) TANTQUE PAS HEnDehors(sdADSI) TableAjouteLigne(tbl_User,sdADSI.sn,sdADSI.givenName) HLitSuivant(sdADSI) FIN SINON Erreur(HErreurInfo(hErrMessage)) FIN HFermeConnexion("ADSI") Message()
//-------------------------------------------------------------------------- -------------------- > |
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 14:56 |
C'est exactement le problème sur lequel je suis tombé.....avec ce code Sur mon PC et d'autre no problème d'autre ce message c'est pour cela que j'ai decidé de passer par LDAP et plus MDAC
"syl" a écrit dans le message de news:429ed6a6$1@news.pcsoft.fr...
Je viens d'essayer le code, mais j'ai un probleme au niveau de la requete.
j'ai comme erreur : Erreur de l'accès OLE DB, numéro d'erreur 170129.
Si tu as une petite idée au cas où, pour ma part, je fais essayer de voir
ce qui ne va pas.
Sinon, ca décrit quoi ce code : 'LDAP://OU=Users,DC=fr,DC=corp,DC=local'
Syl
|
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 15:44 |
C'est l'endroit où tu veux commencer ta recherche. cad l'arborescence d'Active Directory sur laquelle tu veux effectuer ta requête.
'LDAP://' -> c le protocole 'OU=Users' -> c l'OU des users (OU = Organization Unit) Tu peut avoir d'autres OU dans ton arborescence. ex : OU=Bordeaux 'DC=fr,DC=corp,DC=local' -> c ton nom de domaine (fr.corp.local)
Pour Mdac moi je n'ai jamais eut de problèmes et mon appli est déployée sur plus de 150 postes. Sinon si tu veux pousser dans l'exploitation de l'AD avec Windev moi je me sers aussi des classes .NET (mais cela implique que le .NET Framework soit installé) |
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 15:52 |
Tu as du pot alors et commen arrive tu a écrire dans les champs ?
"Julien SIMON" <julien.simon@alvea.fr> a écrit dans le message de news:429ee4dc$1@news.pcsoft.fr...
C'est l'endroit où tu veux commencer ta recherche. cad l'arborescence
d'Active Directory sur laquelle tu veux effectuer ta requête.
'LDAP://' -> c le protocole 'OU=Users' -> c l'OU des users (OU = Organization Unit) Tu peut avoir
d'autres OU dans ton arborescence. ex : OU=Bordeaux
'DC=fr,DC=corp,DC=local' -> c ton nom de domaine (fr.corp.local)
Pour Mdac moi je n'ai jamais eut de problèmes et mon appli est déployée sur plus de 150 postes. Sinon si tu veux pousser dans l'exploitation de l'AD avec Windev moi je me sers aussi des classes .NET (mais cela implique que le ..NET Framework soit installé)
|
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 16:15 |
Je n'utilise Mdac que pour lire dans AD, pour les créations ou les mises a jour j'utilise .NET (system.directoryservices) |
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 16:42 |
C'est pourquoi je préfére LDAP car tu fais du Read/Write donc 1 seule méthode Je trouve que c'est plus simple Mais c'est un avis strictement perso
"Julien SIMON" <julien.simon@alvea.fr> a écrit dans le message de news:429eec3f$1@news.pcsoft.fr...
Je n'utilise Mdac que pour lire dans AD, pour les créations ou les mises a
jour j'utilise .NET (system.directoryservices) > |
| |
| |
| | | |
|
| | |
| |
Posté le 02 juin 2005 - 17:28 |
Merci beaucoup de votre aide. Je vais essayer de résoudre mon problème avec vos idées.
Cordialement,
Syl |
| |
| |
| | | |
|
| | | | |
| | |
|