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

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01