Heim >Backend-Entwicklung >C++ >Wie kann ich mit PrincipalSearcher Benutzerinformationen aus Active Directory abrufen?

Wie kann ich mit PrincipalSearcher Benutzerinformationen aus Active Directory abrufen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-06 13:30:41848Durchsuche

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

Abrufen von Benutzerinformationen aus Active Directory mit PrincipalSearcher

Wenn Sie neu bei Active Directory sind, ist es wichtig, seine hierarchische Datenstruktur zu verstehen LDAP-Abfragefunktionen. Um eine Liste von Benutzern abzurufen, bietet die PrincipalSearcher-Klasse in System.DirectoryServices.AccountManagement einen intuitiven Ansatz.

mithilfe von (var context = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
erstellt eine Verbindung zur angegebenen Domain.

using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
erstellt ein Suchobjekt zum Suchen von Benutzerprinzipalen.

Innerhalb der FindAll()-Schleife wird das jedem Ergebnis zugeordnete DirectoryEntry-Objekt abgerufen, um auf Eigenschaften wie:

    givenName: Vorname
  • sn: Nachname
  • samAccountName: Anmeldename des Benutzers vor Windows 2000
  • userPrincipalName: Anmeldename, der nach Windows 2000 verwendet wird
Der folgende Codeausschnitt stellt ein Beispiel für diesen Ansatz dar:

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();
Diese Lösung ruft die gewünschten Benutzerinformationen effizient aus Active Directory ab.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PrincipalSearcher Benutzerinformationen aus Active Directory abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn