使用 C# 代码从 Active Directory 获取当前登录名

本文关键字:登录 获取 Directory 代码 Active 使用 | 更新日期: 2023-09-27 18:36:08

如何使用

C# 代码从 Windows Active Directory 获取当前用户的登录名?

使用 C# 代码从 Active Directory 获取当前登录名

简单地说,

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;

作品:)

如果你使用的是 .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中玩弄用户和组变得非常容易!

引用:

  • 在 .NET Framework 3.5 中管理目录安全主体(此链接已存档,请改用此链接)
  • MSDN 文档 on System.DirectoryServices.AccountManagement
System.DirectoryServices.AccountManagement.UserPrincipal.Current.Name

这也对我有用!谢谢

我通过提供的其他解决方案获得了"NT权威''网络服务",但是System.Threading.Thread.CurrentPrincipal.Identity.Name.ToString()为我工作。

在我看来,我有这个,非常适合我!

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