Determine se o SID é usuário ou grupo
Pergunta
É possível determinar se um determinado SID é usuário ou grupo usando .NET?Eu tenho uma lista de SIDs que preciso editar em um listview, então para Usuário e Grupo quero usar ícones diferentes
Solução
Você pode tentar usando 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;
Você pode encontrar perguntas (e respostas) semelhantes aqui: Como obter os grupos de um usuário no Active Directory?(c#, asp.net)
Outras dicas
função lookupacountsid () retorna o valor sid_name_use que indica o tipo da conta.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow