2012-06-04 10 views

答えて

39

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

OR

string Name = System.Environment.UserName 

OR

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

OR

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

WORあなたは.NET 3.5とアップにしている場合はKS :)

+5

そして、とにかくここではまったく役に立たないAD(これは現在のユーザーが誰であるかを追跡しません - ログインADはセッション中にあまりにも多くの質問をしません)。 – TomTom

+5

私はウェブサイトを持っており、ログインしたユーザーのユーザー名をWindowsに取得しようとしていますが、上記のいずれにも該当しないものがあります。/ – SearchForKnowledge

+2

ありがとうございました。私はいつも捜していた。 –

25

、あなたが使用することができます。

// 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はADのユーザーとグループで遊んすることが本当に簡単になります!

参考文献:

+2

はこれがクライアントサーバー環境で動作します – Sunil

+3

@ user1306094:これは、Active Directoryがあるすべての環境で機能します。 –

+0

こんにちは、ドメイン内で働いています。別のサーバやドメイン外で動作させる方法 – Sunil

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

また、これは私のために働いています!ありがとう