首頁 > 後端開發 > C++ > 如何從 Active Directory 檢索使用者資訊(名稱和使用者名稱)?

如何從 Active Directory 檢索使用者資訊(名稱和使用者名稱)?

DDD
發布: 2025-01-06 13:22:41
原創
578 人瀏覽過

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

從Active Directory 擷取使用者資訊

要從Active Directory 收集使用者清單及其對應的使用者名稱、姓名和姓氏,考慮以下方法:

了解Active Directory結構

Active Directory 依層次結構組織數據,容器和物件由可分辨名稱標識。在執行查詢之前了解此結構至關重要。

LDAP 查詢和 PrimarySearcher

Active Directory 是 LDAP 伺服器,LDAP 查詢可用於擷取資訊。對於使用者特定的查詢,建議使用 System.DirectoryServices.AccountManagement 中的 PrimarySearcher 類別。

擷取範例程式碼

以下程式碼範例示範如何擷取使用者資訊使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板