首頁 > 後端開發 > C++ > 如何使用 C# 從 Active Directory 擷取使用者資料(使用者名稱、名字、姓氏)?

如何使用 C# 從 Active Directory 擷取使用者資料(使用者名稱、名字、姓氏)?

Linda Hamilton
發布: 2025-01-06 13:11:40
原創
667 人瀏覽過

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

從Active Directory 擷取使用者資料

簡介:
從Active Directory (AD) 存取使用者資訊是許多IT 環境中的一項基本任務。本指南提供了用於獲取使用者清單的全面解決方案,包括使用者名稱、名字和姓氏。

Active Directory 背景:
Active Directory 是一個 LDAP (輕量級目錄存取協定)以層次結構組織物件的伺服器,類似於檔案系統。每個物件都有一個可在目錄中唯一標識它的專有名稱 (DN)。

使用 LDAP 查詢 Active Directory:
在 .NET 中查詢 AD 有多種方法。一個方便的選擇是使用 System.DirectoryServices.AccountManagement 命名空間中的 PrimarySearcher。

示例查詢:
以下代碼演示了檢索必要用戶的查詢信息:

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();
}
登入後複製

說明:

  • 專有名稱: AD物件的專有名稱可以透過以下方式取得de.Properties["distinguishedName"].Value.
  • 名字:給定名稱屬性提供使用者的名字。
  • 姓氏: sn 屬性代表使用者的姓氏。
  • 使用者登入名稱: AD 有兩個登入名稱:samAccountName 和 userPrincipalName。 samAccountName 是 Windows 2000 之前的使用者登入名,而 userPrincipalName 通常在 Windows 2000 之後使用。

以上是如何使用 C# 從 Active Directory 擷取使用者資料(使用者名稱、名字、姓氏)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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