Доступ к активному каталогу из С#

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

что я делаю неправильно?


person vml19    schedule 05.08.2011    source источник
comment
Нужно ли мне предоставлять какую-либо аутентификацию для доступа к записи каталога?   -  person vml19    schedule 05.08.2011
comment
Вы также изменили остальные 3 части в LDAP Uri? Если ваш домен — DomainXXX.lan; это должно быть DC=DomainXXX,DC=lan   -  person NKCSS    schedule 05.08.2011
comment
Внешний домен = XXXX.com MyDomain = test.com DirectoryEntry oDE = new DirectoryEntry(LDAP://DC=XXX.com,DC=test,DC=com); Я думаю, что это путь.   -  person vml19    schedule 05.08.2011
comment
Нет, это неправильно. Если ваше имя сервера = DomainServerA.SomeCompany.net, ваш Uri будет следующим: LDAP://DC=DomainServerA,DC=SomeCompany,DC=net   -  person NKCSS    schedule 05.08.2011
comment
На самом деле я хочу получить доступ и подтвердить, что пользователь существует в AD следующего домена из моего консольного приложения. ldap://Test1.Test2.gov.lk/ если да, то как можно создать запись в каталоге?   -  person vml19    schedule 05.08.2011
comment
LDAP://DC=Test1,DC=Test2,DC=gov,DC=lk   -  person NKCSS    schedule 05.08.2011
comment
Да, я пытался, как вы упомянули, теперь получаю следующее исключение. Реферал был возвращен с сервера.   -  person vml19    schedule 05.08.2011


Ответы (1)


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

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

Создание URI LDAP = "LDAP://DC="

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

Таким образом, Test1.Test2.gov.lk становится «LDAP://DC=Test1,DC=Test2,DC=gov,DC=lk».

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

Удачи,

Ник.

person NKCSS    schedule 05.08.2011