У меня есть требование, в котором я хотел бы получить определенные группы, основываясь на условном знаке для конкретного пользователя.
пример: для пользователя 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()
});
}
}
}
Есть предложения?