Remove Members From Large (1500 members) Active Directory Group Using Directory Services

by Administrator 24. May 2010 23:36

You need to be careful if you are removing members from large groups (i.e. over 1500 members). The standard approach in the first code sample doesn't work as the DE.Properties["member"] property will only return 1500 members

The solution is shown in the 2nd code snippet using the ADSI Edit Invoke statement

 

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.DirectoryServices;
using ActiveDs;

namespace DirectoryServices
{
    static class ADGroup
    {
        const string GROUP_PATH = "LDAP://PATHTOGROUPGOESHERE";
        const string MEMBER_PATH = "LDAP://PATHTOUSERGOESHERE";
        const string MEMBER_DISTINGUISHED_NAME = "USERDISTINGUISHEDNAMEGOESHERE";

        public static void RemoveMember()
        {
            using (DirectoryEntry DE = new DirectoryEntry(GROUP_PATH))
            {
                DE.Properties["member"].Remove(MEMBER_DISTINGUISHED_NAME);
                DE.CommitChanges();
            }
        }
    }
}

Use the code below to add members to large groups

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.DirectoryServices;
using ActiveDs;

namespace DirectoryServices
{
    static class ADGroup
    {
        const string GROUP_PATH = "LDAP://PATHTOGROUPGOESHERE";
        const string MEMBER_PATH = "LDAP://PATHTOUSERGOESHERE";
        const string MEMBER_DISTINGUISHED_NAME = "USERDISTINGUISHEDNAMEGOESHERE";

        public static void RemoveMember()
        {
            using (DirectoryEntry DE = new DirectoryEntry(GROUP_PATH))
            {
                DE.Invoke("Remove", new Object[] { MEMBER_PATH });
            }
        }
    }
}

 

 

 


Buy Me a Beer ?

If you've found this site useful, you could help support its running costs by either checking out the adverts on the page if you find anything that interests you - or by making a small donation