2011-08-10 25 views

Trả lời

22

identityReference.Translate(typeof(NTAccount)).Value nên làm điều đó.

+0

Hoàn hảo, điều này đã làm các trick, tôi đã cố gắng 'mới NTAccount (identityReference.Value)' :) –

+0

Awesome: D, làm việc cho các nhóm cũng như người dùng – nick

0

thử cho các nhóm:

PrincipalContext PC = new PrincipalContext(ContextType.Machine); 

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

thử cho người dùng:

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

thấy http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx

+1

Điều này sẽ chỉ hoạt động một phần cho các nhóm nhất định, có vẻ như không trả lại tất cả các nhóm mà người dùng thuộc về thư mục hoạt động. Tôi đã thay đổi 'ContextType.Machine' thành' ContextType.Machine | ContextType.Domain'. –

Các vấn đề liên quan