DirectorySearcher Filter

Когда я запускаю этот запрос

// Next row is used to login to AD
DirectoryEntry entry = GetEntry(domain, adminUser, adminPassword);
// Here starts the query
DirectorySearcher search = new DirectorySearcher(entry)
{
    SearchScope = SearchScope.Subtree,
    Filter = "(&" +
        "(objectClass=user)" +
        // "(distinguishedname=*OU=Ingegneria*)" +
        "(givenname=s*)" +
        "(samaccountname=*100)" +
    ")"
};
search.PropertiesToLoad.Add("distinguishedname");
SearchResultCollection result = search.FindAll();

Я получаю шесть записей, и это правильно.
Все записи, если я используюrecord.GetDirectoryEntry() имеют

distinguishedname: CN=xxx,OU=Utenti,OU=Ingegneria,DC=xxx,DC=xxx

В любом случае, если я удалю комментарийdistinguishedname часть фильтра, я получаю ноль записей!
Я также пытался использоватьsearch.PropertiesToLoad.Add("distinguishedname"); без удачи
Как я могу искатьdistinguishedname в фильтре?

ОБНОВИТЬ:
Если я попытаюсь использовать"(distinguishedname=*)" + в фильтре я все еще получаю шесть записей, поэтому я думаю, что могу искать по отличительному имени
UPDATE2:
Я также пытался использовать код вПоиск Active Directory для подразделения, используя частичный путь к подразделению:

Filter = "(&(objectClass=user)(ou=Ingegneria))";

но у меня ноль записей (у меня есть два, если я удаляю(objectClass=user) часть)

Ответы на вопрос(1)

Ваш ответ на вопрос