Я надеюсь, что это решит хотя бы некоторые ваши проблемы.
Первое, что вам нужно сделать, это удалить неправильные objectCategories и objectClasses.
Затем вы должны установить свой searchDN в корень OU, который вы хотите искать:
Например, если вы хотите выполнить поиск по:
domain.local
|- OUNameLvl1
|-OUNameLvl2
SearchDN=OU=OUNameLvl2,OU=OUNameLvl1,DC=domain,DC=local
Тогда вы можете попробовать с:
(&(objectCategory=person)(objectClass=user)(sAMAccountName=vvishwakarma))
РЕДАКТИРОВАТЬ: я только что понял, вы сказали, что вы делаете это в Active Directory.
Если вы используете Active Directory - пользователи и компьютеры, вы можете определить пользовательский запрос, в котором вы будете делать то же самое, как описано выше - поместите корень поиска в OU, по которому вы хотите выполнить поиск, и затем используйте тот же LDAP-запрос.