Come bypassare il limite delle 1000 entry su Active Directory

Ciao a tutti una breve snippet prima di lavarmi le mani.

Avete bisogno di fare una search ldap su Active Directory ( da ora AD ) per qualche strano motivo?

Vi canna pure perchè la search restituisce più di 1000 risultati e non gestite voi l’AD ?

Beh se avete risposto si ad alemeno una di queste domande seguitemi in questo articolo.

Per prima cosa facciamoci dire tramite una bind anonima qual’è il rootsuffix dell’AD nel 90% dei casi corrisponde sempre con il nome del dominio Windows

ldapsearch -H ldap://${HOST} -b ” -x -LL -s base ‘objectclass=*’ namingContexts

dove ${HOST} è l’indirizzo ip o nome della macchina oppure il domino.

* Proviamo ad ottenere delle informazioni con il nostro utente

ldapsearch -LLL  -H ldap://${HOST}:389 -b ‘DC=${DOMAIN},DC=${TLD}’ -D ‘${USER}’ -w ‘password’ objectclass=*

Se avete ottenuto quello che vi interessava beh bella pè voi come dice qualcuno, ma se la search restituisce più di 1000 risultati ( valore di default di AD ) come si fà ? basta aggiunere il parametro edivenziato in rosso ( attenzione è impostato al valore max )

ldapsearch -LLL  -H ldap://${HOST}:389 -b ‘DC=${DOMAIN},DC=${TLD}’ -D ‘${USER}’ -w ‘password’ objectclass=* -E pr=2147483647/noprompt

Se avete problemi che si pianta la connessione oppure tira fuori troppi dati basta togliore noprompt

Spero di essere stato utile, ed adesso tutti a lavarci le mani ;-)

Update: Ho postato anche su commandlinefu se vi piace votatelo qui

http://www.commandlinefu.com/commands/view/2779/bypass-1000-entry-limit-of-active-directory-with-ldapsearch