Maison > développement back-end > C++ > Comment puis-je récupérer des données utilisateur (nom d'utilisateur, prénom, nom de famille) à partir d'Active Directory à l'aide de C# ?

Comment puis-je récupérer des données utilisateur (nom d'utilisateur, prénom, nom de famille) à partir d'Active Directory à l'aide de C# ?

Linda Hamilton
Libérer: 2025-01-06 13:11:40
original
667 Les gens l'ont consulté

How Can I Retrieve User Data (Username, First Name, Last Name) from Active Directory Using C#?

Récupérer les données utilisateur d'Active Directory

Introduction :
Accès aux informations utilisateur d'Active Directory (AD) est une tâche essentielle dans de nombreux environnements informatiques. Ce guide fournit une solution complète pour obtenir une liste d'utilisateurs, y compris leurs noms d'utilisateur, prénoms et noms de famille.

Contexte d'Active Directory :
Active Directory est un LDAP ( Lightweight Directory Access Protocol) qui organise les objets de manière hiérarchique, à la manière d'un système de fichiers. Chaque objet possède un nom distinctif (DN) qui l'identifie de manière unique dans l'annuaire.

Interrogation d'Active Directory à l'aide de LDAP :
Il existe plusieurs méthodes pour interroger AD dans .NET. Une option pratique consiste à utiliser PrincipalSearcher à partir de l'espace de noms System.DirectoryServices.AccountManagement.

Exemple de requête :
Le code suivant illustre une requête qui récupère l'utilisateur nécessaire information :

using System.DirectoryServices.AccountManagement;

PrincipalContext context = new PrincipalContext(ContextType.Domain, "yourdomain.com");
PrincipalSearcher 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();
}
Copier après la connexion

Explication :

  • Nom distinctif : Le nom distinctif de l'objet AD peut être obtenu en utilisant de. Propriétés["distinguishedName"].Value.
  • Prénom : L'attribut gaveName fournit le prénom de l'utilisateur.
  • Nom de famille : L'attribut sn représente le nom de famille de l'utilisateur.
  • Nom de connexion de l'utilisateur : AD a deux noms de connexion : samAccountName et userPrincipalName. samAccountName est le nom de connexion de l'utilisateur avant Windows 2000, tandis que userPrincipalName est généralement utilisé après Windows 2000.

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