确定SID是用户还是组

时间:2012-03-11 08:24:29

标签: security sid

是否可以使用.NET确定给定的SID是用户还是组? 我有一个SID列表,我需要在列表视图中编辑,所以对于用户和组我想使用不同的图标

2 个答案:

答案 0 :(得分:1)

您可以使用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;

您可以在此处找到类似的问题(和答案):How to get the groups of a user in Active Directory? (c#, asp.net)

答案 1 :(得分:0)

LookupAccountSid()函数返回SID_NAME_USE值,指示帐户的类型。