cs_adeliz
Messages postés55Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention24 novembre 2009
-
11 déc. 2007 à 21:39
cs_adeliz
Messages postés55Date d'inscriptionmardi 30 novembre 2004StatutMembreDernière intervention24 novembre 2009
-
20 mars 2008 à 11:48
(Re) bonsoir tout le monde !
Encore et toujours des questions de grand débutant...(grand, grand débutant)...
Bon, je suis en galere sur plein de choses là
Je voudrais faire des requetes LDAP via mon soft, mais je n'ai pas tout saisi... J'ai cherché un peu sur le net...
Enfin bon,
il faut apparemment ajouter une référence au projet (System.DirectoryServices.dll) : ça a l'air d'être ok
ensuite, il faut ajouter le using (using System.DirectoryServices;) : ça a l'air d'être ok aussi
Après avoir fait quelque recherches sur ce site, j'ai trouvé une tonne de codes, mais aucun de commentés et pas clair pour un débutant tel que moi
Donc mes questions :
Comment s'identifier avec un compte se trouvant sur le domaine ?
Comment faire mes requetes ?
P.S. : Est il possible d'expliquer le code histoire que je en recopie pas bêtement ?
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 18 déc. 2007 à 09:26
Salut,
pour ouvrir une connexion à AD:
DirectoryEntry myAdConnection = new DirectoryEntry(@"LDAP://{MON_AD}");
Après, tu créer un nouveau searcher, il te permet de rechercher des données dans AD, tu lui donne comme paramètre le nom de ta connexion
DirectorySearcher myAdSearcher = new DirectorySearcher(myAdConnection);
Tu créer un nouveau directoryEntry, ca représentera une entrée de AD
DirectoryEntry c;
là tu donne as ton searcher un filtre, avec SAMAccountName, tu vas rechercher des noms de login dans AD, regarde sur msdn tu trouvera toutes les variables. Là je cherche le login Charles
myAdSearcher.Filter = "(SAMAccountName=Charles)";
Instancie après un SearchResult, ca contiendra les valeurs trouvé par ta recherche. Avec FindOne(), tu reprends une seul entrée. L'entrée retourner sera utiliser en tant qu'object Si tu veux en retrouve plusieurs, tu peut utiliser FindAll() et ensutie tu faite un foreach pour utliser les résultats
SearchResult currentResult = myAdSearcher.FindOne();
Pour utiliser le résultat, tu fait la chose suivante:
c = currentResult.GetDirectoryEntry();
lorsque "c" est ta directoryEntry créer plus haut.
Après tu peux atteindre les propriétés de ton résultat comme ca:
c.Properties["SAMAccountName"].value.