I hope this will solve at least some of your problems.
The first thing you need to do is remove incorrect objectCategories and objectClasses.
Next you should set your searchDN to the root of OU you wish to search:
For example, if you wish to search through your:
Then you can try with:
EDIT: I just realized you said you're doing this in Active Directory.
If using Active Directory Users and Computers, you can define a custom query where you will do the same as described above - place your search root to OU you wish to search through and then use the same LDAP query.