c#如何枚举不同域中的DC

Ste*_*tef 2 c# domaincontroller

我想枚举一个域中的所有DC(当前用户和计算机都是其中的成员,也不在同一个林中).

我找到了这个好方法

Domain domain = Domain.GetCurrentDomain();
foreach (DomainController dc in domain.DomainControllers)
   ...
Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何进行远程连接以获得正确的域上下文.

通过连接

DirectoryEntry child = new DirectoryEntry("LDAP://" + server + "/" + objectDn, userName, password);
Run Code Online (Sandbox Code Playgroud)

效果很好.但我不知道如何将它们结合在一起.

Kri*_*hna 8

using System.DirectoryServices.ActiveDirectory;
Run Code Online (Sandbox Code Playgroud)

...
....

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

以上为我工作(给出正确的域名)

我显然正在使用网络管理员帐户进行测试.希望这可以帮助