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

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

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

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

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

14
задан Community 23 May 2017 в 11:47
поделиться