Определите, если SID является пользователем или группой

StackOverflow https://stackoverflow.com//questions/9653500

  •  11-12-2019
  •  | 
  •  

Вопрос

Можно ли определить, является ли данный SID пользователя или группу, используя .NET? У меня есть список SID, которые мне нужно редактировать в ListView, поэтому для пользователя и группы я хочу использовать разные значки

Это было полезно?

Решение

Вы можете попробовать его с помощью System.directoryservices.accountManagement:

//Get NTAccount, to find out username and domen
NTAccount nt = (NTAccount)sid.Translate(typeof(NTAccount));
string[] fullName = nt.Value.Split(new char[] { '\\' });

//then get group principle
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, fullName[0]);
GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, fullName[1]);

//and check whenever this group exists
bool SidIsAGroup = grp != null;
.

Вы можете найти похожий вопрос (и ответ) здесь: Как получить группы пользователя в Active Directory?(C #, ASP.NET)

Другие советы

Функция

lookupaccountsid () Возвращает значение sid_name_use, которое указывает тип учетной записи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top