public static List<Domain> EnumerateDomains(string forestName, string userName, string password)
{
List<Domain> alDomains = new List<Domain>(); DirectoryContext dContext = new DirectoryContext(DirectoryContextType.Forest ,forestName, userName, password); Forest forest = Forest.GetForest(dContext);
DomainCollection myDomains = forest.Domains;
foreach (Domain objDomain in myDomains)
{
alDomains.Add(objDomain);
}
return alDomains;
}以上代码是获取一个目录林中的域的域明,但是当进行到Forest forest = Forest.GetForest(dContext);
这步时总是出现指定的林不存在或者无法联系的错误,但可以肯定的是林是存在的,密码和用户名都是正确的,因为其他对活动目录的操作都是这些参数。还有我的活动目录是建立在我的虚拟机上的。
{
List<Domain> alDomains = new List<Domain>(); DirectoryContext dContext = new DirectoryContext(DirectoryContextType.Forest ,forestName, userName, password); Forest forest = Forest.GetForest(dContext);
DomainCollection myDomains = forest.Domains;
foreach (Domain objDomain in myDomains)
{
alDomains.Add(objDomain);
}
return alDomains;
}以上代码是获取一个目录林中的域的域明,但是当进行到Forest forest = Forest.GetForest(dContext);
这步时总是出现指定的林不存在或者无法联系的错误,但可以肯定的是林是存在的,密码和用户名都是正确的,因为其他对活动目录的操作都是这些参数。还有我的活动目录是建立在我的虚拟机上的。
public static bool Exists(string objectPath)
{
bool found = false;
if (DirectoryEntry.Exists("LDAP://" + objectPath))
{
found = true;
}
return found;
}
也就是二楼的帖子中的,使用这个方法时,去搜索win2003没问题,但搜索win2008时,执行到DirectoryEntry.Exists("LDAP://" + objectPath)就报登录失败: 未知的用户名或错误密码