c # Как перечислить контроллеры домена в другом домене - PullRequest
2 голосов
/ 06 марта 2012

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

Я нашел этот замечательный метод

Domain domain = Domain.GetCurrentDomain();
foreach (DomainController dc in domain.DomainControllers)
   ...

Однако я не мог понять, как сделать удаленное соединение, чтобы получить правильный контекст домена.

Соединение через

DirectoryEntry child = new DirectoryEntry("LDAP://" + server + "/" + objectDn, userName, password);

работает хорошо.Но я понятия не имею, как это собрать.

1 Ответ

8 голосов
/ 06 марта 2012
using System.DirectoryServices.ActiveDirectory;

...
....

DirectoryContext dc = new DirectoryContext(DirectoryContextType.DirectoryServer, "ip", "user", "pwd"); //change parameters here
Forest forest = Forest.GetForest(dc);    
Console.WriteLine(forest.Domains.Count); 

вышеописанное работает для меня (дает правильное количество доменов)

Я тестирую с сетевым администраторомаккаунт очевидно.Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...