Active Directory и идентификатор сети - PullRequest
0 голосов
/ 06 октября 2009

Я знаю, что могу получить полное доменное имя, используя сетевой домен Windows NT. Я хотел бы сделать наоборот: Пример: User.Identity.Name = "slaterock \ fflintstone"; Active Directory возвращает полное доменное имя slaterock.bedrock.us.com. Я хотел бы иметь возможность получить доменную часть User.Identity.Name, запрашивая Active Directory (LDAP) этим пользователем. Я бы использовал адрес электронной почты пользователя: (& (Объектный = пользователь) (ObjectCategory = Person) (mail=fred.flintstone@slaterock.com))

У меня нет проблем с возвратом атрибутов AD, но я не могу определить абсолютную связь между имеющимися у меня атрибутами и именем домена, возвращенным в User.Identity.Name. Я вижу его части в компонентах домена (DC = slaterock, DC = коренная порода, DC = США, DC = бла, бла), но мне нужна прямая связь.

Спасибо

1 Ответ

1 голос
/ 02 ноября 2009

Во-первых, немного терминологии, которая должна быть понятной (и чтобы помочь любому поиску, который вы делаете):

  • 'slaterock' в 'slaterock \ fflintstone' является доменным именем NetBIOS для домена.
  • «DC = slaterock, DC = коренная порода, DC = США, DC = бла, бла» - это defaultNamingContext для домена.
  • CN = Фред Флинстоун, OU = Quarry1, DC = slaterock, DC = коренная порода, ... является отличительным именем учетной записи пользователя.

Чтобы преобразовать имя пользователя в имя пользователя в NetBIOS-имя домена его домена:

  • Получите имя пользователя учетной записи и выделите его, чтобы получить defaultNamingContext.
  • Затем выполните поиск по контейнеру: «CN = Разделы, CN = Конфигурация, DC = JohnLewis, DC = co, DC = uk» для объекта со значением nCName, которое соответствует defaultNamingContext сверху.
  • Получите атрибут nETBIOSName этого объекта, и вы получите то, что вам нужно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...