Necesito enumerar todos los usuarios del grupo local específico en el siguiente formato: "Domain \ UserName". Puedo extraer la colección de objetos GroupPrincipal para el grupo, pero no sé cómo hacer que los usuarios obtengan el formato requerido. GroupPrincipal no tiene propiedad Dominio.¿Cómo obtener el dominio de GroupPrincipal?
El siguiente código genera usuarios sin dominio (por ejemplo, "Nombre de usuario").
using (var context = new PrincipalContext(ContextType.Machine, null))
{
using (var group = GroupPrincipal.FindByIdentity(context, IdentityType.SamAccountName, @"My Local Group"))
{
if (group != null)
{
foreach (var p in group.GetMembers(false))
{
Console.WriteLine(p.SamAccountName);
}
}
}
}
¿Es posible obtener el nombre de dominio NetBIOS del objeto principal? Y si es así, ¿cómo conseguirlo?
¿Realmente lo necesita en el formulario 'DOMAIN \ UserName'? ¿Podrías también aceptar 'User @ Domain'? –
@Damien_The_Unbeliever Necesito nombre de usuario en la misma forma en que HttpContext.User.Identity.Name lo devuelve con la autenticación habilitada de Windows (DOMAIN \ UserName). – altso
'p' expone una propiedad SID, que le proporciona el identificador de seguridad. De forma similar, la identidad expone una propiedad de usuario (si se envía adecuadamente a un objeto WindowsIdentity), que también es un identificador de seguridad. ¿No podrías hacer una comparación basada en eso? –