Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Dapatkan Data Pengguna (Nama Pengguna, Nama Pertama, Nama Akhir) daripada Direktori Aktif Menggunakan C#?

Bagaimanakah Saya Boleh Dapatkan Data Pengguna (Nama Pengguna, Nama Pertama, Nama Akhir) daripada Direktori Aktif Menggunakan C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-06 13:11:40687semak imbas

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

Dapatkan Data Pengguna daripada Active Directory

Pengenalan:
Mengakses maklumat pengguna daripada Active Directory (AD) adalah tugas penting dalam banyak persekitaran IT. Panduan ini menyediakan penyelesaian yang komprehensif untuk mendapatkan senarai pengguna, termasuk nama pengguna, nama pertama dan nama keluarga mereka.

Latar Belakang pada Active Directory:
Active Directory ialah LDAP ( Lightweight Directory Access Protocol) pelayan yang menyusun objek secara hierarki, serupa dengan sistem fail. Setiap objek mempunyai nama terbeza (DN) yang mengenal pasti secara unik dalam direktori.

Menyoal Direktori Aktif menggunakan LDAP:
Terdapat beberapa kaedah untuk menanya AD dalam .NET. Satu pilihan yang mudah ialah menggunakan PrincipalSearcher daripada ruang nama System.DirectoryServices.AccountManagement.

Contoh Pertanyaan:
Kod berikut menunjukkan pertanyaan yang mendapatkan semula pengguna yang diperlukan maklumat:

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

Penjelasan:

  • Nama Terbilang: Nama terbilang objek AD boleh diperoleh menggunakan de. Properties["distinguishedName"].Nilai.
  • Pertama Nama: Atribut givenName memberikan nama pertama pengguna.
  • Nama Akhir: Atribut sn mewakili nama akhir pengguna.
  • Nama Log Masuk Pengguna: AD mempunyai dua nama log masuk: samAccountName dan userPrincipalName. samAccountName ialah nama log masuk pengguna pra-Windows 2000, manakala userPrincipalName biasanya digunakan selepas Windows 2000.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Data Pengguna (Nama Pengguna, Nama Pertama, Nama Akhir) daripada Direktori Aktif Menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn