2011-08-10 13 views
12

IdentityReferenceWindowsIdentity.GetCurrent() द्वारा लौटाई गई वस्तुओं को देखते हुए, मुझे दिए गए समूह का प्रदर्शन/अनुकूल नाम कैसे मिल सकता है? के लिए समूहमैं पहचान पहचान ऑब्जेक्ट के लिए डिस्प्ले नाम कैसे प्राप्त करूं?

उत्तर

22

identityReference.Translate(typeof(NTAccount)).Value यह करना चाहिए देखें।

+0

बिल्कुल सही, यह चाल है, मैं 'नया एनटीएसीसीएउंट (पहचान रिफरेंस। वैल्यू)' कोशिश कर रहा था :) :) –

+0

बहुत बढ़िया: डी, ​​समूहों के साथ-साथ उपयोगकर्ताओं के लिए भी काम करता है – nick

0

कोशिश: उपयोगकर्ता के लिए

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

+1

यह केवल आंशिक रूप से दिए गए समूहों के लिए काम करेगा, ऐसा लगता है कि उपयोगकर्ता सक्रिय निर्देशिका में संबंधित सभी समूहों को वापस नहीं देखता है। मैंने 'ContextType.Machine' को 'ContextType.Machine | में बदल दिया ContextType.Domain'। –

संबंधित मुद्दे