Доступ к активному каталогу из C # - PullRequest
2 голосов
/ 05 августа 2011

Я пытаюсь получить доступ к каталогу в домене 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 results = ds.FindAll ();выполняет я получаю сообщение об ошибке «На сервере нет такого объекта».

что я делаю не так?

1 Ответ

0 голосов
/ 05 августа 2011

Хорошо, короткое резюме нашего «чата» в комментариях:

Ваша текущая проблема вызвана тем, что вы неправильно форматируете URI LDAP.

Построение URI LDAP = "LDAP: // DC = "

, за которым следует uri вашего сервера (например, Test1.Test2.gov.lk), где вы заменяете '.'с ', DC ='

Итак, Test1.Test2.gov.lk становится 'LDAP: // DC = Test1, DC = Test2, DC = gov, DC = lk'

Iне могу помочь вам с вашей проблемой продолжения;Я предлагаю создать для этого новый вопрос.

Удачи,

Ник.

...