Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

Actualités

[.NET] Faire une requête Active Directory dans les sous-domaine d'un domaine

Lorsque vous faîtes une recherche/requête dans Active Directory, en .NET, vous utilisez tout naturellement la classe DirectoryEntry en lui indiquant les paramètes adéquats:

DirectoryEntry

de = new DirectoryEntry ( null , null , null , AuthenticationTypes .Secure);

de.Path =

String .Format( "LDAP://{0}" , this .Server);

de.Username =

this .UserName;

de.Password =

this .Password;

string filter = String .Format( "(&(objectCategory=Person)(objectClass=user)(cn={0}))" , name);

DirectorySearcher ds = new DirectorySearcher (de);

ds.Filter = filter;

ds.PropertiesToLoad.Add(

"SAMAccountName" );

SearchResult sr = ds.FindOne();

 

Seulement voila, si vous essayez d'acceder aux informations d'utilisateurs qui sont dans un autre sous-domaine que vous (par exemple, vous êtes dans le sous-domaine toto.microsoft.com et vous voulez accédez aux données d'un utilsiateur qui est dans titi.microsoft.com), votre SearchResult retournera null !

En effet, lorsque vous utilisez "LDAP://", vous demandez à faire une recherche des membres des groupes locaux du domaine.
Vous devez donc faire votre recherche sur le Catalogue Global (Global Catalog) qui n'est rien d'autre qu'un contrôleur de domaine qui possède tous les objets du domaine.

Pour cela, il vous suffit de modifier la propriété Path de votre DirectoryEntry et au lieu d'utiliser LDAP://, vous allez utiliser GC://

 

DirectoryEntry de = new DirectoryEntry(null, null, null, AuthenticationTypes.Secure);

de.Path = String.Format("GC://{0}", this.Server);

 

Et voilà, à présent, vos requêtes se feront bien sur tous les sous-domaines !

Voici un lien pour aggrémenter la lecture de ce post: http://msdn2.microsoft.com/en-us/library/ms675564.aspx

 

A+

 

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 24 janvier 2007 20:18 par Thomas LEBRUN
Classé sous :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Le nouveau Gojira, c’est pour lundi… par CoqBlog le il y a 7 heures et 47 minutes

- SharePoint : nouvel article sur la mise en place des Scopes dans MOSS Searchs par Blog Technique de Romelard Fabrice le il y a 15 heures et 14 minutes

- Hello CS par Le Blog de julz le il y a 20 heures et 40 minutes

- MSDN/TechNet/Microsoft Days Tour 2008 à Lille les 13 et 14 Octobre ! par RedoBlog - The .NET Gentleman !!! le il y a 23 heures et 30 minutes

- MVC Pratique #07 - Un projet concret et le transfert des objets avec les ModelBinders par #Rui le 10-09-2008, 23:39

- SQL Server 2008 : Certifié - TS Admin (70-432) par SQL Server vu par Christian Robert le 10-09-2008, 10:58

- [WPF] Comment changer la couleur utilisée pour sélectionner les éléments d’un ItemsControl ? par Thomas Lebrun le 10-09-2008, 10:49

- Hello World! par Hamid's Place le 10-08-2008, 23:38

- SQL Profiler - Configuration pour un développeur - tracer les requêtes SQL de votre application par Atteint de JavaScriptite Aiguë [Cyril Durand] le 10-08-2008, 15:52

- Monitoring et Patron de méthode par Le blog de Marc Ranchin le 10-08-2008, 10:22