0

我必须在我的应用程序中读取用户登录,即使运行为并且在 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

但给我显示的名字

我怎样才能获得完整的登录名

4

1 回答 1

1

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

“您不能修改用户 samAccountName 的长度,它是架构中定义的值,设置为 20。”

请参阅:此页面的来源

也许你可以试试UserPrincipalname

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

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

于 2016-07-14T15:51:56.687 回答