Получите составы группы пользователя от Active Directory

Как может я о получении составов группы пользователя от AD, предпочтительно с помощью того же шаблона, как я использую для получения свойства Department пользователя, как ниже? Я нашел несколько примеров, но пересекающийся набор всех методов в качестве примера является довольно маленьким, и испытывает недостаток в плотности и простоте этого запроса Отдела:

        var adServer = ConfigurationManager.AppSettings["adServer"] ?? "localhost";
        var remoteRoot = new DirectoryEntry(GetRootPath(adServer));
        var searcher = new DirectorySearcher(remoteRoot, string.Format("(SAMAccountName={0})", shortUserName));

        searcher.PropertiesToLoad.Add("Department");
        SearchResult result = null;
        result = searcher.FindOne();
5
задан ProfK 29 December 2009 в 10:53
поделиться

1 ответ

Вы находитесь на .NET 3.5 ? Если да, то это очень просто:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "YOURDOMAIN");

string userName = "yourUser";

UserPrincipal user = UserPrincipal.FindByIdentity(ctx, userName);

PrincipalSearchResult<Principal> results = user.GetAuthorizationGroups();

Найдите своего пользователя, а затем вызовите .GetAuthorizationGroups() на вашем основном пользователе - это вернет все группы, к которым принадлежит пользователь, включая его основную группу, а также все вложенные группы, к которым он принадлежит.

Зацените эту MSDN статью, чтобы узнать больше нового в .NET 3.5, когда дело касается AD.

В .NET 2.0 все гораздо сложнее...

.
6
ответ дан 14 December 2019 в 13:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: