Вы должны изменить фильтр, чтобы он выглядел так:
var filter = string.Format("(&(objectCategory={0})(objectClass={1})(sAMAccountName={2}))", "person", "user", username);
Это не будет работать в общем случае с любым каталогом LDAP. sAMAccountName
, например, является специфическим атрибутом AD.