I am using Netscape library for performing search operation on microsoft ADS/ADAM Ldap server Following is the snippet I am using:

LDAPConnection connection=new LDAPConnection();
connection.connect("xx.xx.xx.xx", 389);
connection.authenticate( "CN=xx,CN=xx,DC=xx,DC=xx,DC=xx", "xxxx");
String[] attr= { "member;range=0-*" };
        
LDAPSearchResults resultSet = connection.search("CN=UsersGroup,CN=Builtin,DC=xx,DC=xx,DC=xx", 2, "(&(objectclass=group))", attr,false);

API is returning only 10000 records for "member" multivalued attribute.

MaxValRange value is set to 50000 on server.

Is there any way I can get more than 10K records in single search?

1

There are 1 answers

5
jwilleke On BEST ANSWER

AFIK, besides modifying the MaxValRange, you need to override the upper-limits introduced in Windows Server 2008/R2 and restore the old-style (no upper limit enforced behavior for LDAP Query Policy in Windows Server 2003), modify the dSHeuristic attribute in Active Directory.

And of course you could use the Ranging OID.

We did, sometime ago, create some Example Java code to make the process easier.