从Ldap Value字符串中提取信息

时间:2013-01-29 14:29:19

标签: c# .net ldap

我使用以下代码

从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?

1 个答案:

答案 0 :(得分:0)

不要使用User.ToString(),然后希望能够解析生成的字符串。

User对象具有自己的方法和属性。使用它们。

例如,获取通用名称:

 DirectoryEntry user = new DirectoryEntry(result.Properties["member"]);

 group.Users.Add(user.Properties.Item["cn"][0]);