Если вы используете .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 Управление принципами безопасности каталогов в .NET Framework 3.5 , в котором хорошо показано, как наилучшим образом использовать новые функции в System.DirectoryServices.AccountManagement