30

C# コードを使用して Windows Active Directory から現在のユーザーのログイン名を取得するにはどうすればよいですか?

4

5 に答える 5

58

単に、

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;

作品:)

于 2012-06-04T07:16:09.227 に答える
32

.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 を使用すると、AD でユーザーやグループを簡単に操作できます。

参考文献:

于 2012-06-04T07:17:10.797 に答える
0

私はこれを私の見解で持っており、私にとって完璧に機能します!

<h5 class="mb-0 text-gray-800">Welcome, <span style="text-transform:capitalize">@User.Identity.Name.Replace("AD-GROUP-NAME\\", "").Replace(".", " ")</span></h5>

于 2019-11-13T15:27:16.433 に答える