使用 C# 代码从 Active Directory 获取当前登录名
本文关键字:登录 获取 Directory 代码 Active 使用 | 更新日期: 2023-09-27 18:36:08
如何使用
C# 代码从 Windows 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>