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)
часть)