【发布时间】:2013-10-30 07:32:33
【问题描述】:
我尝试获取森林中的所有域。
我可以连接到一个特定的域并像这样获取它的 DirectoryEntry:
DirectoryContext dc =
new DirectoryContext(DirectoryContextType.DirectoryServer, "xx.x.xxx.40", "w28\\administrator", "pwd");
Domain domain = Domain.GetDomain(dc);
DirectoryEntry entry = domain.GetDirectoryEntry();
foreach (DirectoryEntry child in entry.Children)
{
Console.WriteLine(" - " + child.Name);
}
但是,当我尝试通过 Forest 属性获取其他域时。
Forest forest = domain.Forest;
Console.WriteLine("Count: " + forest.Domains.Count); //It crashes here
DomainCollection domains = forest.Domains;
我的应用程序崩溃,异常消息如下所示: System.DirectoryServices.ActiveDirectory.ActiveDirectoryServerDownException: 指定的域不存在或无法联系。
在 System.DirectoryServices.ActiveDirectory.Locator.GetDomainControllerInfo(字符串 计算机名、字符串域名、字符串站点名、Int64 标志)在 System.DirectoryServices.ActiveDirectory.DirectoryContext.isCurrentForest() 在 System.DirectoryServices.ActiveDirectory.DirectoryContext.GetServerName() 在 System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.GetNewDirectoryEntry(字符串 dn) 在 System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.GetCachedDirectoryEntry(字符串 杰出的名字)在 System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.ExpandWellKnownDN(WellKnownDN dn) 在 System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.ExpandWellKnownDN(WellKnownDN dn) 在 System.DirectoryServices.ActiveDirectory.Forest.GetDomains() 在 System.DirectoryServices.ActiveDirectory.Forest.get_Domains()
请帮帮我。
提前致谢。
【问题讨论】:
标签: c# .net active-directory