2012-06-04 12 views
18

का उपयोग कर सक्रिय निर्देशिका से वर्तमान लॉगिन प्राप्त करना C# कोड का उपयोग कर Windows सक्रिय निर्देशिका से वर्तमान उपयोगकर्ता का लॉगिन नाम कैसे प्राप्त कर सकता हूं?सी # कोड

उत्तर

39
सीधे शब्दों में

,

string Name = new System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent()).Identity.Name; 

या

string Name = System.Environment.UserName 

या

string Name = Environment.GetEnvironmentVariable("USERNAME"); 

या

string Name = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

wor ks :)

+5

और इनमें से कोई भी एडी शामिल नहीं है जो किसी भी तरह से बेकार है (यह ट्रैक नहीं करता है कि वर्तमान उपयोगकर्ता कौन है - लॉगिन के बाद एडी वास्तव में सत्र के दौरान बहुत ज्यादा नहीं पूछा जाता है)। – TomTom

+5

मेरे पास एक वेबसाइट है और मैं विंडोज में लॉग इन किए गए उपयोगकर्ता नाम का उपयोगकर्ता नाम प्राप्त करने का प्रयास कर रहा हूं और उपरोक्त में से कोई भी मुझे यह नहीं दे रहा है:/ – SearchForKnowledge

+2

आपको बहुत धन्यवाद। मैं हर समय खोज रहा था। –

25

आप .NET 3.5 पर हैं और ऊपर, आप का उपयोग कर सकते हैं:

// set up domain context 
PrincipalContext ctx = new PrincipalContext(ContextType.Domain); 

// find current user 
UserPrincipal user = UserPrincipal.Current; 

if(user != null) 
{ 
    string loginName = user.SamAccountName; // or whatever you mean by "login name" 
}  

नई S.DS.AM यह वास्तव में ईस्वी में उपयोगकर्ताओं और समूहों के साथ चारों ओर खेलने के लिए आसान बनाता है!

संदर्भ:

+2

यह क्लाइंट सर्वर पर्यावरण – Sunil

+3

@ user1306094 में काम करता है: यह किसी भी वातावरण में काम करता है जहां आपके पास सक्रिय निर्देशिका है। –

+0

हाय डोमेन के अंदर काम कर रहा है। इसे अलग-अलग सर्वर में या डोमेन – Sunil

1
System.DirectoryServices.AccountManagement.UserPrincipal.Current.Name 

यह भी मेरे लिए काम कर रहा है! धन्यवाद