获取没有 20 个字符限制的用户名

本文关键字:用户 字符 获取 | 更新日期: 2023-09-27 17:57:03

我必须读取我的应用程序中的用户登录,即使使用运行方式和在Windows Server 2012的域中创建的名称有23个字符,我用了:

Environment.UserName

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

但这一切都给了我没有最后 3 个字符的名字我用了:

UserPrincipal.Current.UserPrincipalName
UserPrincipal.Current.Name

但给我显示的名称

如何获取完整登录名

获取没有 20 个字符限制的用户名

这是对 samAccountName 属性的硬性限制:

"你不能修改用户的samAccountName的长度,它是一个 在架构中定义值,并设置为 20。

请参阅:此页面以获取源代码

也许你可以试试UserPrincipalname

System.DirectoryServices.AccountManagement.UserPrincipal.Current().UserPrincipalName

您需要添加对 AccountManagement 命名空间的引用