Я нашел this сообщение, чтобы получить группы безопасности пользователя.GetAuthorizationGroups возвращает больше групп, чем мой пользователь, находится в
мне пришлось изменить его немного, так это выглядит следующим образом:.
public List<GroupPrincipal> GetGroups(string userName, string userPassword, string userDomain)
{
List<GroupPrincipal> result = new List<GroupPrincipal>();
// establish domain context
PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain, userDomain, userName, userPassword);
// find your user
UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, IdentityType.SamAccountName, userName);
// if found - grab its groups
if (user != null)
{
PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();
// iterate over all groups
foreach (Principal p in groups)
{
// make sure to add only group principals
if (p is GroupPrincipal)
{
result.Add((GroupPrincipal)p);
}
}
}
return result;
}
К сожалению, я теперь получить каждую группу безопасности в AD, а не только те, которые пользователь находится в Мой пользователь находится в 10 но он возвращает 71. Я должен был указать имя пользователя и пароль, иначе мне не разрешат искать группы. Это учетная запись администратора в другом домене, поэтому я не мог использовать текущие учетные данные.
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Привет и спасибо заранее IG