首頁 > 後端開發 > C++ > 如何使用PrincipalSearcher 從Active Directory 檢索使用者資訊?

如何使用PrincipalSearcher 從Active Directory 檢索使用者資訊?

Linda Hamilton
發布: 2025-01-06 13:30:41
原創
848 人瀏覽過

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

使用 PrimarySearcher 從 Active Directory 檢索使用者資訊

如果您是 Active Directory 新手,了解其分層資料結構和LDAP 查詢功能。要檢索使用者列表,System.DirectoryServices.AccountManagement 中的PrincipalSearcher 類別提供了一個直覺的方法。

使用 (var context = new PrimaryContext(ContextType.Domain, "yourdomain.com"))
建立到指定網域的連線。

using (var searcher = new PrimarySearcher(new UserPrincipal(context)))
建立用於尋找使用者主體的搜尋器物件。

在FindAll() 迴圈中,取得與每個結果相關的DirectoryEntry 物件來存取屬性,例如:

  • givenName:名字
  • sn:姓氏Name
  • samAccountName:Windows 2000之前的用戶登錄名
  • userPrincipalName:Windows 2000 之後使用的登錄名
下面的代碼片段提供了此方法的示例:

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();
登入後複製
該解決方案有效地從以下位置檢索所需的使用者資訊活動目錄。

以上是如何使用PrincipalSearcher 從Active Directory 檢索使用者資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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