Если вы используете .NET 3.5 или более поздней версии, вы можете использовать PrincipalSearcher
и «запрос по образцу» принципал сделать ваш поиск:
// create your domain context
string container = "OU=DBG,OU=THINCLIENT,OU=NPS,OU=services,DC=YourDomain,DC=com";
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "YourDomain", container))
{
// define a "query-by-example" principal - here, we search for UserPrincipal
UserPrincipal qbeUser = new UserPrincipal(ctx);
// 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.....
}
}
Если вы еще не - абсолютно прочитать статью Managing Directory Security Principals in the .NET Framework 3.5 MSDN, который показывает хорошо, как сделать наилучшим образом использовать новые функции в System.DirectoryServices.AccountManagement
. Или просмотрите пространство имен .
Вам нужно добавить ссылку на System.DirectoryServices.AccountManagement
сборки в ваших ссылках, и вы будете нуждаться в строку:
using System.DirectoryServices.AccountManagement;
в верхней части файл кода для этого работы ,
Вы можете указать любое из свойств на UserPrincipal
и использовать их как «запрос по примеру» для вашего PrincipalSearcher
.
не работает:/.... – Tarasov