Par défaut et principalement pour des raisons de sécurité, ActiveDirectory ne renvoie au maximum que 1000 entrées aux requêtes LDAP qui lui sont adressées et fonctionne grâce à un système de pages, permettant d’accéder aux autres éléments, toujours par tranche de 1000 maximum. Si un bon nombre d’applications ou de librairies sont capables de gérer ce système de pages, ce n’est pas le cas de toutes. Bien que cela ne soit pas recommandé par Microsoft, il est possible d’augmenter la variable MaxPageSize grâce à ntdsutil si besoin est.
L’exécutable ntdsutil peut être appelé depuis n’importe quel contrôleur de domaine, peu importe ses rôles ; il s’agit d’un paramètre de niveau domaine.
Une fois connecté à un DC, ouvrir un cmd avec élévation et exécuter ntdsutil :
ntdsutil
Ensuite, se connecter au serveur, dans cet exemple, le DC s’appelle dc01 ; à chaque instruction valider par entrée – le prompt va changer de ldap policy à server connections lors de la deuxième commande :
ldap policies
connections
connect to server dc01
Une fois que la connexion est faite, saisir « q » et valider pour revenir au prompt ldap policy. D’abord, afficher les paramètres courants :
show values
Ici, le MaxPageSize est bien réglé sur 1000. Pour le passer à 5000, par exemple :
set maxpagesize to 5000
Les éventuelles modifications apportées aux paramètres ne seront pas prises en compte tant que l’enregistrement de celles-ci ne sera pas effectué :
commit changes
En rappelant l’instruction show values, on vérifie que la modification a bien été écrite :
Désormais, ActiveDirectory retournera tout au plus 5000 éléments par requête LDAP.