9

谁能帮我获取 Active Directory 中的所有域。我已经尝试了很多次,但是所有程序都只列出了当前的工作域。

我怎样才能做到这一点?

4

4 回答 4

10
Domain domain = Domain.GetDomain(new DirectoryContext(DirectoryContextType.Domain, "yourDomain", "username", "password"));

Forest forest = domain.Forest;

DomainCollection domains = forest.Domains;

The above uses the System.DirectoryServices.ActiveDirectory namespace. It'll give you a domain collection containing all the domains that are in the same forest as your given domain.

于 2008-11-27T18:17:16.123 回答
5

我在让LeeMobile 的代码在我的案例中工作时遇到了一些问题,因为它在运行 forest.Domains 时试图找到我的应用程序的当前域上下文。我能够通过做这样的事情来解决它。

Forest forest = Forest.GetForest(new DirectoryContext(DirectoryContextType.Forest, "yourForestDomain", "username", "password"));
DomainCollection domains = forest.Domains;
于 2011-05-27T00:45:05.007 回答
1

使用 DirectorySearcher,您可以连接和读取一个 Active Directory 的结构,包括结构(组织单位、组、用户、计算机、域控制器)。为了连接到不同的域,您需要该其他域的凭据。我们在从属于与目标域不同的域的计算机连接到另一个域时遇到问题。我也很好奇这是否可能。

于 2008-11-27T12:38:26.777 回答
0

您还可以使用 System.DirectoryServices.ActiveDirectory.Forest.GetCurrentForest().Domains

var domains = Forest.GetCurrentForest().Domains.Cast<Domain>();
foreach (var domain in domains)
{
    Console.WriteLine(domain.Name);
}
于 2016-06-29T00:25:48.707 回答