È possibile utilizzare System.DirectoryServices.AccountManagement.PrincipalSearcher
per eseguire la ricerca in base a più parametri utilizzando "o" (non "e").Utilizzo di PrincipalSearcher per trovare utenti con parametri "o"
cioè
// This uses an and
//(&(objectCategory=person)(!UserAccountControl:1.2.840.113556.1.4.803:=2)(&(SAMAccountName=tom*)(DisplayName=tom*)))
var searchPrinciple = new UserPrincipal(context);
searchPrinciple.DisplayName = "tom*";
searchPrinciple.SamAccountName = "tom*";
var searcher = new PrincipalSearcher();
searcher.QueryFilter = searchPrinciple;
var results = searcher.FindAll();
e vorrei una ricerca simile a questo (in LDAP) utilizzando PrincipalSearcher
(non DirectorySearcher
)
// (&(objectCategory=person)(!UserAccountControl:1.2.840.113556.1.4.803:=2)(|(SAMAccountName=tom*)(DisplayName=tom*)))
Sì, questa è la soluzione Attualmente sto usando, speravo ci sarebbe stato un modo per farlo più pulito, in una ricerca. Grazie comunque. – doobist