Meilleur auteur de réponses
Afficher une liste de user active directory

Question
-
Bonjour je souhaiterais afficher la liste des user active directory d'un groupe en particulier
J'ai donc ecrit le code suivant
DirectoryEntry LDAP_SDG = new DirectoryEntry("LDAP://CN=MONGROUPE,OU=*****,DC=***,DC=***,DC=*****", "******", "*******"); DirectorySearcher SEARCHER = new DirectorySearcher(LDAP_SDG); //on instancie un objet recherche SEARCHER.SizeLimit = 50000; // on etant la limit de la recherche a 50000 objects SEARCHER.PageSize = 50000; //SEARCHER.Filter = "(objectCategory=group)"; // on filtre sur les groupes SearchResultCollection MES_USERS = SEARCHER.FindAll(); foreach (SearchResult results in MES_USERS) { DirectoryEntry USER = results.GetDirectoryEntry(); listBox_User.Items.Add(USER.Username); }
Cela fonctionne mais cela m'affiche le nom de logon.
Je souhaiterais plutot recupérer les champs prénom et nom
J'ai donc ajouté ce code afin d'essayer de toruvé les diffrente property d'un user
foreach (PropertyValueCollection property in USER.Properties) { listBox_User.Items.Add(property.PropertyName + " " + property.Value); }
Mais cela ne m'affiche que les property du groupe dans lequel se trouve ce user.
Je ne parvien pas a "travailler sur l'object user en particulier)
Comment puis procéder.
Merci d'avance
Réponses
-
Bonjour,
Avant tout, pour la récupération des users, je vous conseille de faire un filtre sur cette "population". (a la place du filtre sur les groupes qui est commenté)
SEARCHER.Filter = "(&(objectClass=user)(objectCategory=person))" ;
Vous pourrez ensuite récupérer les propriétés qui vous intéressent comme suit:
USER.InvokeGet("givenName" ).ToString(); //Prénom
USER.InvokeGet("SN" ).ToString(); //Nom
ATTENTION : il me semble que le nom de ces propriétés n'est pas forcément stable selon les versions de AD... et puis on peut toujours en ajouter/[enlever?]....
Cordialement,
Kind regards, Sebastien G. - Axiomtek Deutschland GmbH- Marqué comme réponse Alex Petrescu dimanche 17 octobre 2010 09:35
Toutes les réponses
-
Bonjour,
Avant tout, pour la récupération des users, je vous conseille de faire un filtre sur cette "population". (a la place du filtre sur les groupes qui est commenté)
SEARCHER.Filter = "(&(objectClass=user)(objectCategory=person))" ;
Vous pourrez ensuite récupérer les propriétés qui vous intéressent comme suit:
USER.InvokeGet("givenName" ).ToString(); //Prénom
USER.InvokeGet("SN" ).ToString(); //Nom
ATTENTION : il me semble que le nom de ces propriétés n'est pas forcément stable selon les versions de AD... et puis on peut toujours en ajouter/[enlever?]....
Cordialement,
Kind regards, Sebastien G. - Axiomtek Deutschland GmbH- Marqué comme réponse Alex Petrescu dimanche 17 octobre 2010 09:35
-
Bonjour,
Merci M. Gellencourt pour la réponse. Zabimaru75, je vous remercie de préciser si cette réponse vous met sur la bonne voie.
Cordialement,
Alex
________________
Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007
Astuces pour Visual Studio 2010
XNA – Développement jeux vidéo
Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF
Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.