>백엔드 개발 >C++ >Active Directory에서 사용자 정보(이름 및 사용자 이름)를 검색하려면 어떻게 해야 합니까?

Active Directory에서 사용자 정보(이름 및 사용자 이름)를 검색하려면 어떻게 해야 합니까?

DDD
DDD원래의
2025-01-06 13:22:41659검색

How Can I Retrieve User Information (Name and Username) from Active Directory?

Active Directory에서 사용자 정보 검색

Active Directory에서 해당 사용자 이름, 이름 및 성과 함께 사용자 목록을 수집하려면, 다음 접근 방식을 고려하십시오.

Active Directory 이해 구조

Active Directory는 고유 이름으로 식별되는 컨테이너와 개체를 사용하여 데이터를 계층적으로 구성합니다. 쿼리를 수행하기 전에 이 구조를 이해하는 것이 중요합니다.

LDAP 쿼리 및 PrincipalSearcher

Active Directory는 LDAP 서버이며 LDAP 쿼리를 활용하여 정보를 검색할 수 있습니다. 사용자별 쿼리의 경우 System.DirectoryServices.AccountManagement의 PrincipalSearcher 클래스를 사용하는 것이 좋습니다.

검색용 샘플 코드

다음 코드 샘플은 사용자 정보를 검색하는 방법을 보여줍니다. 사용하여 PrincipalSearcher:

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();
        }
    }
}

속성 고려 사항

"givenName"은 이름에 해당하고 "sn"은 성을 나타냅니다. 사용자 이름의 경우 Active Directory는 "samAccountName"(Windows 2000 이전) 및 "userPrincipalName"(Windows 2000 이후)의 두 가지 로그온 이름을 저장합니다.

위 내용은 Active Directory에서 사용자 정보(이름 및 사용자 이름)를 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.