我期望獲得屬於特定組「groupName」的用戶列表傳遞給私有方法。Ldap查詢特定於某個組的所有成員
DirectoryEntry de = new DirectoryEntry("LDAP://DC=xxxx,DC=net"); // Root Directory //
var ds = new DirectorySearcher(de);
ds.PropertiesToLoad.Add("SAMAccountName");
ds.PropertiesToLoad.Add("member");
ds.Filter = "(&(objectClass=group)(SAMAccountName=" + groupName + "))";
SearchResultCollection AllGroupUsers;
AllGroupUsers = ds.FindAll();
該查詢返回3個屬性: - adspath,accountName和成員。 會員是我真的很after.I如下面的代碼片斷展示了訪問成員屬性和它的價值是什麼: -
if (AllGroupUsers.Count > 0)
{
ResultPropertyValueCollection values = AllGroupUsers[0].Properties["member"];
但奇怪的事情發生在這裏。在等號的RHS上,AllGroupUsers對於特定成員的值爲「CN = Mike Schoomaker R,......」
雖然在等號的LHS上,值有「CN = Mike Schoomaker(OR),.....「
我不太清楚這是怎麼可能的......它不會發生在AllGroupUsers下的每一個值......我唯一知道的就是它發生在活動目錄上的外部用戶...任何人都可以告訴我如何解決這個問題,並得到實際的名字,姓氏和MiddleInitial?
你熟悉PrincipalContext你可以得到組用戶以及我會發佈一個例子 – MethodMan
其他工作示例在這裏.. http://stackoverflow.com/questions/5309988/how-to-get-the-groups-of-a-user-in-有源目錄-C-ASP-N et做一個簡單的谷歌搜索 – MethodMan