Maison > développement back-end > C++ > Comment puis-je récupérer des informations utilisateur à partir d'Active Directory à l'aide de PrincipalSearcher ?

Comment puis-je récupérer des informations utilisateur à partir d'Active Directory à l'aide de PrincipalSearcher ?

Linda Hamilton
Libérer: 2025-01-06 13:30:41
original
865 Les gens l'ont consulté

How Can I Retrieve User Information from Active Directory Using PrincipalSearcher?

Récupération des informations utilisateur à partir d'Active Directory à l'aide de PrincipalSearcher

Si vous êtes nouveau dans Active Directory, il est crucial de comprendre sa structure de données hiérarchique et Capacités d'interrogation LDAP. Pour récupérer une liste d'utilisateurs, la classe PrincipalSearcher dans System.DirectoryServices.AccountManagement propose une approche intuitive.

using (var context = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
établit une connexion au domaine spécifié.

en utilisant (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
crée un objet de recherche pour trouver les principaux utilisateurs.

Dans la boucle FindAll(), l'objet DirectoryEntry associé à chaque résultat est obtenu pour accéder à des propriétés telles que :

  • givenName : Prénom
  • sn : Nom de famille Name
  • samAccountName : nom de connexion de l'utilisateur avant Windows 2000
  • userPrincipalName : nom de connexion utilisé après Windows 2000

L'extrait de code ci-dessous fournit un exemple de cette approche :

using (var context = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
{
    using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
    {
        foreach (var result in searcher.FindAll())
        {
            DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
            Console.WriteLine("First Name: " + de.Properties["givenName"].Value);
            Console.WriteLine("Last Name : " + de.Properties["sn"].Value);
            Console.WriteLine("SAM account name   : " + de.Properties["samAccountName"].Value);
            Console.WriteLine("User principal name: " + de.Properties["userPrincipalName"].Value);
            Console.WriteLine();
        }
    }
}
Console.ReadLine();
Copier après la connexion

Cette solution récupère efficacement les informations utilisateur souhaitées depuis Active Annuaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal