AD

    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; }
    }

posted @ 2010-06-23 18:17  China2008  阅读(162)  评论(0编辑  收藏  举报