|
| Ldap rechercher et afficher les membres d'un groupe |
| Débuté par JC LOYO, 11 jan. 2023 19:24 - 4 réponses |
| |
| | | |
|
| |
Membre enregistré 5 messages |
|
| Posté le 11 janvier 2023 - 19:24 |
Bonjour à tous.
Je souhaite récupérer les sAMAccountName d'un groupe de mon Active Directory.
Pas de soucis pour récupérer les sAMAccountName des utilisateurs dans mon OU Utilisateurs, mais pas ceux du groupe CN=APP - GestUtil . Voici mon arborescence et mon code : A noter que j'ai exactement le même problème en passant par LdapList, c'est OK pour OU utilisatateur mais retourne rien sur mon group. Je dois peut-être passer par des class et category objet type memberOf mais je n'y arrive pas. Ou carrément autre chose. Par avance merci de votre aide.

LdapUser est une chaîne = "OU=Utilisateurs,OU=PSV - Utilisateurs,DC=maison,DC=loc" LdapGroupUser est une chaîne = "CN=APP - GestUtil,OU=Ressources,OU=PSV - Utilisateurs,DC=maison,DC=loc"
strNomUtilisateur est une chaîne strDN est une chaîne test est une chaîne test = LDAPRecherche(SessionLDAP,LdapUser,"(objectClass=user)") POUR TOUTE chaîne strDN de test SEPAREE PAR RC strNomUtilisateur = LDAPValeur(SessionLDAP,strDN,"sAMAccountName") Trace(strNomUtilisateur ) FIN
test = LDAPRecherche(SessionLDAP,LdapGroupUser,"(objectClass=user)") POUR TOUTE chaîne strDN de test SEPAREE PAR RC strNomUtilisateur = LDAPValeur(SessionLDAP,strDN,"sAMAccountName") Trace(strNomUtilisateur ) FIN Message modifié, 11 janvier 2023 - 19:50 |
| |
| |
| | | |
|
| | |
| |
| Posté le 17 janvier 2023 - 14:33 |
Ton groupe n'est pas un "user" mais un "group", c'est ce qui doit empêcher la récupération de ton LDAPRecherche, ton filtre devrait être plutôt ceci à mon avis:
"(objectClass=Group)"
Je n'ai pas testé moi-même, mais à essayer.
Tu peux te référer ici pour des détails supplémentaires:
https://ldapwiki.com/wiki/Group-AD
Bon dev. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 5 messages |
|
| Posté le 17 janvier 2023 - 21:15 |
Bonjour et merci pour ta réponse GMichaud.
Malheureusement même en changeant "user" par "group" ou "Group" je n'ai toujours pas de retour. Si quelqu'un a un exemple concret ou une piste, je suis donc toujours preneur. Par avance merci de votre aide.
LdapGroupUser est une chaîne = "CN=APP - GestUtil,OU=Ressources,OU=PSV - Utilisateurs,DC=maison,DC=loc"
strNomUtilisateur est une chaîne strDN est une chaîne test est une chaîne
test = LDAPRecherche(SessionLDAP,LdapGroupUser,"(objectClass=group)") POUR TOUTE chaîne strDN de test SEPAREE PAR RC strNomUtilisateur = LDAPValeur(SessionLDAP,strDN,"sAMAccountName") Trace(strNomUtilisateur) FIN Message modifié, 17 janvier 2023 - 21:18 |
| |
| |
| | | |
|
| | |
| |
| Posté le 05 juin 2025 - 10:34 |
Bonjour
Je cherche à faire la même chose... sans succès. Auriez-vous trouvé une solution depuis deux ans ? 
Merci !
JC LOYO a écrit :
Bonjour et merci pour ta réponse GMichaud. Malheureusement même en changeant "user" par "group" ou "Group" je n'ai toujours pas de retour. Si quelqu'un a un exemple concret ou une piste, je suis donc toujours preneur. Par avance merci de votre aide. LdapGroupUser est une chaîne = "CN=APP - GestUtil,OU=Ressources,OU=PSV - Utilisateurs,DC=maison,DC=loc"
strNomUtilisateur est une chaîne strDN est une chaîne test est une chaîne
test = LDAPRecherche(SessionLDAP,LdapGroupUser,"(objectClass=group)") POUR TOUTE chaîne strDN de test SEPAREE PAR RC strNomUtilisateur = LDAPValeur(SessionLDAP,strDN,"sAMAccountName") Trace(strNomUtilisateur) FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 26 messages |
|
| Posté le 05 juin 2025 - 15:57 |
Bonjour, Voici ce que j'utilisais dans ma collectivité pour gérer mon LDAP.
flc_UtilisateurDn est chaîne flc_TableauDeDN est tableau dynamique flc_TableauDeDN = allouer tableau dynamiquedynamique de 1 chaîne flc_ChaineDeFiltre est chaîne = "" flc_ChaineRechercheLdap est chaîne = "" rlb_AppartientAuGroupe est booléen = Faux flc_ChaineFiltrDuTableauDn est chaîne = "" flc_Login est chaîne = "" flc_ListeLogin est chaîne = "" flb_retour est booléen SI PAS FG_LdapConnexion() flc_ListeLogin= Faux+TAB+LdapErreurConnexion SINON flc_ChaineDeFiltre = "(&(objectCategory=Group) (sAMAccountName=" +vpc_GroupeApplicatif + "))" flc_ChaineRechercheLdap = LDAPRecherche(LdapSessionLdap,LdapOuGroupe,flc_ChaineDeFiltre) SELON flc_ChaineRechercheLdap CAS "" : flc_ListeLogin = "Groupe " +vpc_GroupeApplicatif+" non trouvé" flb_retour = Faux AUTRE CAS : rle_NombreDeMenbreApplicatif est entier = LDAPNbValeur(LdapSessionLdap, flc_ChaineRechercheLdap, "member") rle_NombreDeMenbreApplicatifReel est entier = 0 POUR rle_pour=1 _À_ rle_NombreDeMenbreApplicatif flc_valeurmembre est chaîne=UTF8VersChaîne(LDAPValeur(LdapSessionLdap, flc_ChaineRechercheLdap, "member", rle_pour)) SI Position(flc_valeurmembre,LdapOuUtilisateursCg,1) > 0 ALORS rle_NombreDeMenbreApplicatifReel++ Dimension(flc_TableauDeDN,rle_NombreDeMenbreApplicatifReel) flc_TableauDeDN[rle_NombreDeMenbreApplicatifReel]=flc_valeurmembre FIN FIN flc_ListeLogin="/" POUR rle_pour = 1 _À_ rle_NombreDeMenbreApplicatifReel flc_ChaineDn est chaîne = flc_TableauDeDN[rle_pour] flc_ChaineDeFiltre = "(&(objectCategory=person) (objectClass=user) (distinguishedName=" + flc_ChaineDn + "))" flc_ChaineRechercheLdap = LDAPRecherche(LdapSessionLdap,LdapOuUtilisateur, flc_ChaineDeFiltre) flc_UtilisateurDn = UTF8VersChaîne(LDAPValeur(LdapSessionLdap, flc_ChaineRechercheLdap, "cn", 1) ) flc_Login = Minuscule(UTF8VersChaîne(LDAPValeur(LdapSessionLdap, flc_ChaineRechercheLdap, "sAMAccountName", 1))) flc_ListeLogin +=["/"]+ SansEspace(flc_Login) +"/" FIN Libérer flc_TableauDeDN flb_retour=Vrai FIN FIN LDAPDéconnecte(LdapSessionLdap) RENVOYER (flb_retour,flc_ListeLogin) Je peux vous envoyer mon composant interne Voici la liste de toutes les fonctions utilisées : FG_LdapConnexion FG_LDapConnexionAvecLogin FG_LdapControleAdresseMail FG_LdapControleLoginPresentDansGroupeApplicatif FG_LdapListeMailDuCd06 FG_LdapRechercheAdresseMailAPartirDuLogin FG_LdapRechercheDepartementApartirLogin FG_LdapRechercheDesLoginsDuGroupeApplicatif FG_LdapRecherchedisplayNameApartirAdresseMail FG_LdapRechercheDisplayNameApartirLogin FG_LdapRechercheDuLogin FG_LdapRechercheGéneriqueApartirLogin FG_LdapRechercheLoginApartirDisplayName FG_LdapRechercheLoginNameApartirNuméroMatricule FG_LdapRechercheMatriculedAPartirDuLogin FG_LdapRecherchePrenomApartirLogin FG_LdapRechercheSnPointgivenNameApartirLogin FG_LdapRechercheTableauDeLoginApartirNom
Mon adresse de messagerie est la suivante : alainpettiti@laposte.net |
| |
| |
| | | |
|
| | | | |
| | |
|