Если вы на .NET 3.5 и выше, вы должны проверить пространство имен System.DirectoryServices.AccountManagement
(S.DS.AM).
Вы можете использовать PrincipalSearcher
и «запрос по образцу» принципал сделать ваш поиск:
// create your domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// define a "query-by-example" principal - here, we search for a UserPrincipal
// which is not enabled (not active)
UserPrincipal qbeUser = new UserPrincipal(ctx);
qbeUser.Enabled = false;
// create your principal searcher passing in the QBE principal
PrincipalSearcher srch = new PrincipalSearcher(qbeUser);
// find all matches
foreach(var found in srch.FindAll())
{
// do whatever here - "found" is of type "Principal" - it could be user, group, computer.....
}
Если вы еще не - абсолютно читать статью MSDN Managing Directory Security Principals in the .NET Framework 3.5, который показывает хорошо, как сделать лучшее использование новых функций в System.DirectoryServices.AccountManagement
Спасибо за ваш ответ, но я хотел бы знать, как добавить фильтр для условия (| (SamAccountName = { 0}) (mailnickname = {0})) Я могу установить свойство для имени samaccount, но не для mailnickname. и в моем списке есть некоторые пользователи с mailnickname, как заданный псевдоним. – nipiv