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

c#如何枚举不同域中的DC,c#,domaincontroller,C#,Domaincontroller,我想列举一个域中的所有DC(当前用户或计算机都是其中的成员,也不在同一个林中) 我发现这个方法很好 Domain domain = Domain.GetCurrentDomain(); foreach (DomainController dc in domain.DomainControllers) ... 但是,我不知道如何远程连接到 获取正确的域上下文 连接通路 DirectoryEntry child = new DirectoryEntry("LDAP://" + server

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

我发现这个方法很好

Domain domain = Domain.GetCurrentDomain();
foreach (DomainController dc in domain.DomainControllers)
   ...
但是,我不知道如何远程连接到 获取正确的域上下文

连接通路

DirectoryEntry child = new DirectoryEntry("LDAP://" + server + "/" + objectDn, userName, password);
效果很好。但我不知道如何把这些联系起来

using System.DirectoryServices.ActiveDirectory;

以上内容适合我(给出了正确的域计数)


我正在用一个网络管理员帐户进行测试。希望这有助于

解决方案已经在SO at Domain=Domain.GetDomain(新的DirectoryContext(DirectoryContextType.Domain,“yourDomain”,“username”,“password”);几乎。但这不允许将IP地址传递到应该执行请求的位置!它需要同一林中的域。只需将类型更改为directoryserver,如果我没有回答问题System.DirectoryServices.ActiveDirectory.DirectoryContext dc=new DirectoryContext(DirectoryContextType.directoryserver,“,”您的用户名“,”pwd“);很好,谢谢。我稍微修改了它,将域straigt从domaincontext中删除,而不是首先从林中删除。
DirectoryContext dc = new DirectoryContext(DirectoryContextType.DirectoryServer, "ip", "user", "pwd"); //change parameters here
Forest forest = Forest.GetForest(dc);    
Console.WriteLine(forest.Domains.Count);