Как получить список DC в лесу/домене, используя MVC с бритвой и C#

Запрос: домашняя страница моего проекта должна иметь список контроллеров домена на данный момент для одного выбранного леса с указанным доменом example.com со знаком +, если мы развернем знак +, мы сможем увидеть СПИСОК ПОДКЛЮЧЕННЫХ реплицированных серверов в каждом DC для каждого домена.

Как вытащить этот контент с помощью -

MVC3 (какие элементы входят в модель, что может быть в контроллере, представлении... и т. д.) Rajor C#

Пространство имен AccountManagement

чтобы быть более конкретным

отображать одно и то же для каждого контроллера домена в текущем домене (exmple.com)

чтобы было понятнее:

example.com является доменом, скажем, у нас есть 4 контроллера домена DC1 DC2 DC3 DC4.

Inturn DC1 будет иметь реплицированные контроллеры домена, как в DC1 e будет иметь подчиненный DC1 server1 sub DC1 server2

так далее

под DC2 у нас будет

подчиненный сервер DC21 подчиненный сервер DC22

До сих пор я пробовал как новичок: создал домашнюю страницу в MVC3, где верхний и нижний колонтитулы размещены с некоторыми приблизительными данными. В разделе «Тело» меня поразило предоставление древовидного представления, похожего на проводник файлов, со списком контроллеров домена в домене.

Заранее спасибо.


person Community    schedule 20.09.2012    source источник
comment
До сих пор я пробовал как новичок: создал домашнюю страницу в MVC3, где верхний и нижний колонтитулы размещены с некоторыми приблизительными данными. В разделе «Тело» меня поразило предоставление древовидного представления, похожего на проводник файлов, со списком контроллеров домена в домене.   -  person    schedule 20.09.2012
comment
Вы должны отредактировать эту информацию в своем вопросе, @ user1686215   -  person Shog9    schedule 20.09.2012


Ответы (1)


Вот вам решение

После столь долгого поиска документации MSDN я нашел ваше решение.

Я думаю, это то, что вы ожидаете.

ArrayList alDcs = new ArrayList();
Domain domainaa = Domain.GetCurrentDomain();
foreach (DomainController dc in domainaa.DomainControllers)
 {
    alDcs.Add(dc.Name);
 }

Метод GetCurrentDomain определяется учетными данными домена, под которым работает приложение. Чтобы получить объект домена, представляющий домен, к которому присоединен компьютер, на котором запущено приложение, независимо от учетных данных, связанных с этим приложением, вместо этого используйте метод GetComputerDomain.

Таким образом, я могу получить все контроллеры домена, которые уже поддерживают доверительные отношения друг с другом.

Есть еще один способ предоставить учетные данные пользователей с правами администратора.

  ArrayList alDomains = new ArrayList();
  Forest currentForest = Forest.GetForest(new DirectoryContext(DirectoryContextType.Forest, "contesso.local", "userame", "password"));
  DomainCollection myDomains = currentForest.Domains;
  DomainControllerCollection dccc = currentForest.RootDomain.DomainControllers;
  foreach (DomainController dc in dccc)
    {
       alDomains.Add(dc.Name);
    }

Теперь осталось только создать древовидное представление, которое, я думаю, вы можете сделать сами.

Надеюсь, это поможет вам

person RL89    schedule 21.09.2012
comment
Спасибо БОЛЬШОЕ Рахул. Действительно помог мне ВО ВРЕМЯ. - person ; 21.09.2012