从C#访问活动目录

时间:2011-08-05 08:46:24

标签: c# active-directory active-directory-group

我正在尝试从我的控制台应用程序访问XXX域中的目录。

             DirectoryEntry oDE = new DirectoryEntry("LDAP://DC=XXXX,DC=myDomain,DC=com");

            using (DirectorySearcher ds = new DirectorySearcher(oDE))
            {
                ds.PropertiesToLoad.Add("name");
                ds.PropertiesToLoad.Add("userPrincipalName");

                ds.Filter = "(&(objectClass=user))";

                SearchResultCollection results = ds.FindAll();

                foreach (SearchResult result in results)
                {
                    Console.WriteLine("{0} - {1}",
                        result.Properties["name"][0].ToString(),
                        result.Properties["userPrincipalName"][0].ToString());
                }
            }

当SearchResultCollection行结果= ds.FindAll();执行我收到错误“服务器上没有这样的对象。”

我做错了什么?

1 个答案:

答案 0 :(得分:0)

好的,评论中我们'聊天'的简历很短:

您当前的问题是由于您没有正确格式化LDAP uri而引起的。

LDAP URI Buildup =“LDAP:// DC =”

然后是您的服务器uri(例如Test1.Test2.gov.lk),您将替换'。'用',DC ='

因此,Test1.Test2.gov.lk变为'LDAP:// DC = Test1,DC = Test2,DC = gov,DC = lk'

我无法帮助你解决后续问题;我建议为此创建一个新问题。

祝你好运,

尼克。