ENV: Visual Studio 2013, рамочные 4,5, Telerik Controls, C#, WebForm приложениеПолучить Количество пользователей в группы AD с помощью PrincipalSearcher
Использование: System.DirectoryServices и System.DirectoryServices.AccountManagement
Я m, создавая инструменты поиска, чтобы пользователь мог искать имя активной группы каталогов в нескольких лесах/доменах.
Поиск возвращает список из 1 или более групп, и я помещаю этот список в RadGrid (Telerik). Каждая строка сетки представляет собой группу AD. Я хотел бы отобразить дополнительную информацию, которая показывает пользователю, сколько (счетчиков) членов (пользователей) есть в этой группе.
private List<AdGroup> GetListOfGroupAD(string domain, string name, string samAccountName)
{
try
{
GroupPrincipal qbeGroup;
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domain))
{
qbeGroup = new GroupPrincipal(ctx);
qbeGroup.Name = !string.IsNullOrEmpty(name) ? name : "*";
qbeGroup.SamAccountName = !string.IsNullOrEmpty(samAccountName) ? samAccountName : "*";
PrincipalSearcher srch = new PrincipalSearcher(qbeGroup);
((DirectorySearcher)srch.GetUnderlyingSearcher()).PageSize = 500;
List<AdGroup> listeGroupe = srch.FindAll()
.OrderBy(x => x.SamAccountName)
.Select(x => new AdGroup()
{
SamAccountName = x.SamAccountName,
Description = x.Description,
Domain = domain,
NbMember = 0 //Can i Get a count of members in group here ?????
})
.ToList();
return listeGroupe;
}
}
catch (ArgumentNullException ex)
{
writeToLog(ex.Message, 1);
return null;
}
catch (Exception ex)
{
writeToLog(ex.Message, 1);
return null;
}
}
public class AdGroup
{
public string SamAccountName { get; set; }
public string Description { get; set; }
public string Domain { get; set; }
public int NbMember { get; set; }
}
Спасибо за помощь
Ричард
Спасибо, я попробовал ваше предложение, но я получаю это исключение. «При попытке разрешить ссылку на перекрестный магазин целевого принципала не удалось найти в домене, указанном SID принципала». : Это означает, что член группы может не быть частью домена из реального контекста? – Richard
Да, эта ошибка предполагает, что член одной из ваших групп в вашем домене имеет недопустимый SID. – Chase