2011-08-10 13 views

Respuesta

22

identityReference.Translate(typeof(NTAccount)).Value debe hacerlo.

+0

Perfecto, este fue el truco, estaba intentando 'nueva NTAccount (identityReference.Value)' :) –

+0

Impresionante: D, funciona tanto para grupos como para usuarios – nick

0

intento de los Grupos:

PrincipalContext PC = new PrincipalContext(ContextType.Machine); 

foreach (var G in WindowsIdentity.GetCurrent().Groups) 
{ 
string DisplayN = Principal.FindByIdentity (PC, IdentityType.Sid, G.ToString()).DisplayName; 
} 

oportunidad para el usuario:

string DisplayN = Principal.FindByIdentity (new PrincipalContext(ContextType.Machine), IdentityType.Sid, WindowsIdentity.GetCurrent().User.ToString()).DisplayName; 

ver http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx

+1

Esto solo funcionará parcialmente para grupos determinados, no parece devolver todos los grupos a los que pertenece un usuario en el directorio activo. Cambié 'ContextType.Machine' a' ContextType.Machine | ContextType.Domain'. –

Cuestiones relacionadas