获取没有20个字符限制的UserName

时间:2016-07-14 15:48:48

标签: c# windowsdomainaccount

我必须在我的应用程序中读取用户登录,即使运行as和在Windows服务器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

但是给我显示的名字

我如何获得全长登录名

1 个答案:

答案 0 :(得分:1)

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

  

“你不能修改用户的samAccountName的长度,它是一个   模式中定义的值,并设置为20.“

请参阅:this page for source

也许你可以试试UserPrincipalname

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

您需要添加对AccountManagement命名空间

的引用