我使用以下代码
从LDAP中的所有组中获取所有用户 using (SearchResultCollection results = searcher.FindAll())
{
foreach (SearchResult result in results)
{
ResultPropertyValueCollection userValueCollection =
result.Properties["member"];
foreach (var cn in userValueCollection)
{
System.Console.WriteLine(cn.ToString());
}
}
}
输出结果如下:
CN = 068IGHf,OU =个人,OU =通用,OU =特权CN = 064IMHf,OU =技术,OU =通用,OU =特权CN = 060IGHJ,OU =功能,OU =通用,OU =特权CN = 061UGHf,OU =测试仪,OU =通用,OU =特权
Q1:我如何获得每个用户示例的类型信息:个人,技术,功能 从输出? Q2:我怎么才能得到userName唯一的例子:068IGHF?
答案 0 :(得分:0)
不要使用User.ToString()
,然后希望能够解析生成的字符串。
User
对象具有自己的方法和属性。使用它们。
例如,获取通用名称:
DirectoryEntry user = new DirectoryEntry(result.Properties["member"]);
group.Users.Add(user.Properties.Item["cn"][0]);