Mã dưới đây được cho tôi những thành viên trong nhóm nhưng nó được trả về "CN=johnson\,Tom,OU=Users,OU=Main,DC=company,DC=com"
lấy tên người dùng trong Active Directory Group qua .net
Tôi muốn chỉ trả lại và Tên cuối. Làm thế nào tôi có thể thực hiện điều này?
DirectoryEntry ou = new DirectoryEntry();
DirectorySearcher src = new DirectorySearcher();
src.Filter = ("(&(objectClass=group)(CN=Gname))");
SearchResult res = src.FindOne();
if (res != null)
{
DirectoryEntry deGroup = new DirectoryEntry(res.Path);
PropertyCollection pcoll = deGroup.Properties;
foreach (object obj in deGroup.Properties["member"])
{
ListBox1.Items.Add(obj.ToString());
}
}
Sau đây không thực sự là câu trả lời, chỉ cần cảnh báo: bọc DirectoryEntry, DirectorySearcher và đặc biệt là bất kỳ SearchResultCollections nào (ví dụ: từ gọi [DirectorySearcher.FindAll] (http : //msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.findall.aspx)) trong một tuyên bố sử dụng, hoặc một thử/cuối cùng với một cuộc gọi Dispose. SearchResultCollections không thể được thu thập rác. Tôi săn lùng một rò rỉ bộ nhớ trong nhiều ngày sau khi sử dụng một ví dụ tôi tìm thấy trực tuyến mà không vứt bỏ bất cứ điều gì. Kiểm tra tài liệu MS kỹ lưỡng để xem những lớp nào liên quan đến việc tìm kiếm Active Directory hav –