【发布时间】:2011-06-20 17:41:45
【问题描述】:
我在 .net 2.0 中工作,需要检索给定 AD 组的所有用户。我有以下方法可以返回组的所有成员,但它不会返回将传递组作为主要组的用户。我需要做些什么才能让这些用户也包括在内?
/// <summary>
/// Gets the group child users.
/// </summary>
/// <param name="parentGroup">The parent group.</param>
/// <returns></returns>
public List<ADUser> GetGroupChildUsers(ADGroup parentGroup)
{
List<ADUser> list = new List<ADUser>();
DirectoryEntry entry = GetDirectoryEntry(LdapBaseString);
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = string.Format("(&(objectCategory=person)(memberOf={0}))", parentGroup.DN);
searcher.PropertiesToLoad.Add("objectGUID");
searcher.SizeLimit = MaxReturnCount;
SearchResultCollection results = searcher.FindAll();
foreach (SearchResult result in results) {
Guid guid = new Guid((byte[])result.Properties["objectGUID"][0]);
list.Add(GetUserByGuid(guid));
}
if (list.Count <= 0) {
return null;
} else {
return list;
}
}
【问题讨论】:
-
前段时间我有一个类似的问题,这可能会有所帮助。我只需要提取机器或用户名而不是所有内容。 stackoverflow.com/questions/6252785/…
标签: .net active-directory .net-2.0