Es posible usar System.DirectoryServices.AccountManagement.PrincipalSearcher
para buscar en base a múltiples parámetros usando "o" (no "y").Uso de PrincipalSearcher para buscar usuarios con "o" parámetros
es decir
// 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();
y me gustaría una búsqueda similar a esta (en LDAP) utilizando PrincipalSearcher
(no DirectorySearcher
)
// (&(objectCategory=person)(!UserAccountControl:1.2.840.113556.1.4.803:=2)(|(SAMAccountName=tom*)(DisplayName=tom*)))
Sí, esta es la solución que estoy usando actualmente, esperaba que habría una manera de hacer esto más limpiamente, en una búsqueda. Gracias sin embargo. – doobist