ArrayList userlist=GetUsersArrayList(GetDirectoryEntryOfGroup("yyb"));
for (int i = 0; i < userlist.Count; i++)
{
Response.Write(userlist[i].ToString());
}
}
public static DirectoryEntry GetDirectoryObject()
{
string ADUser = "administrator";
string ADPassword = "888888";
string ADPath = "http://www.cnblogs.com/IsNull/admin/ldap://Test.com/";
DirectoryEntry entry = new DirectoryEntry(ADPath, ADUser, ADPassword, AuthenticationTypes.Secure);
return entry;
}
public static DirectoryEntry GetDirectoryEntryOfGroup(string groupName)
{
DirectoryEntry de = GetDirectoryObject();
DirectorySearcher deSearch = new DirectorySearcher(de);
deSearch.Filter = "(&(objectClass=group)(cn=" + groupName + "))";
deSearch.SearchScope = SearchScope.Subtree;
try
{
SearchResult result = deSearch.FindOne();
de = new DirectoryEntry(result.Path);
return de;
}
catch
{
return null;
}
}
static ArrayList GetUsersArrayList(DirectoryEntry directoryEntry)
{
ArrayList arrUsers = new ArrayList();
try
{
//Members
foreach (object member in (IEnumerable)directoryEntry.Invoke("Members"))
{
DirectoryEntry dirmem = new DirectoryEntry(member);
arrUsers.Add(dirmem.Name);
}
return arrUsers;
}
catch { return arrUsers; }
}