Получить группы активных каталогов для пользователя на основе поиска по шаблону - PullRequest
0 голосов
/ 26 марта 2019

У меня есть требование, в котором я хотел бы получить определенные группы, основываясь на условном знаке для конкретного пользователя.

пример: для пользователя james получить все группы, названия которых начинаются с application.

<add key="AdGroupSearchParam" value="Application*;*Groups*;*Managers;" />

Код: я могу получить все группы на основе группового символа.Не уверен, как мне изменить этот код в добавлении фильтра имени пользователя.

var result = new List<UserGroups>();
string username = "james";
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
{
    var paramValue = //Get values from file seprated by ';'
    foreach (var search in paramValue)
    {
        GroupPrincipal qbeGroup = new GroupPrincipal(ctx)
        {
            Name = search
        };
        PrincipalSearcher srch = new PrincipalSearcher(qbeGroup);
        foreach (var found in srch.FindAll())
        {
            // Add only if user is part of this group
            result.Add(new UserGroups
            {
                GroupName = found.SamAccountName,
                GroupId = found.Guid.ToString()
            });
        }
    }
}

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...