すべてのグループとそれに関連するサブグループおよびメンバーを LDAP から取得しようとしています。
私はこのコードを使用しています:
public List<Group> GetGroups()
{
DirectoryEntry de = new DirectoryEntry("LDAP://someLdap.com");
DirectorySearcher searcher = new DirectorySearcher(de);
searcher.Filter = "(&(objectClass=group))";
searcher.PageSize = 500;
searcher.PropertiesToLoad.Add("sAMAccountName");
searcher.PropertiesToLoad.Add("description");
searcher.PropertiesToLoad.Add("memeber");
searcher.PropertiesToLoad.Add("memeberOf");
searcher.SearchScope = SearchScope.Subtree;
List<Group> groups;
using (SearchResultCollection results = searcher.FindAll())
{
int count = 1;
groups = new List<Group>();
foreach (SearchResult result in results)
{
Group group = new Group();
if (result == null) continue;
Console.WriteLine(count++); // just to print
group.Name = result.Properties["sAMAccountName"][0].ToString();
group.Description = result.Properties["description"][0].ToString();
ResultPropertyValueCollection valueCollection =
result.Properties["memeber"];
foreach (var user in valueCollection)
{
group.Users.Add(user.ToString());
}
groups.Add(group);
}
}
return groups;
}
コードは と でのみ機能しsAMAccountName
ますdescription
member
しかし、すべてのmemberOf
値を取得することはできません
何か案は?