Как получить отображаемое имя для объекта IdentityReference?

Учитывая объекты IdentityReference возвращаемые WindowsIdentity.GetCurrent(), как мне найти отображаемое/дружественное имя данной группы?

Ответ 1

identityReference.Translate(typeof(NTAccount)).Value должно это сделать.

Ответ 2

попробуйте для групп:

PrincipalContext PC = new PrincipalContext(ContextType.Machine);

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

попробуйте для пользователя:

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

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