Определите, если SID является пользователем или группой
Вопрос
Можно ли определить, является ли данный 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, которое указывает тип учетной записи.
Не связан с StackOverflow