【问题标题】:get UserName without the 20 char Limit获取没有 20 个字符限制的用户名
【发布时间】:2016-07-14 15:48:48
【问题描述】:

即使使用运行方式,我也必须在我的应用程序中读取用户日志,并且在 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

但是给我显示的名字

如何获取完整的登录名

【问题讨论】:

    标签: c# windowsdomainaccount


    【解决方案1】:

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

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

    见:this page for source

    也许你可以试试UserPrincipalname

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

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

    【讨论】:

    • 用户已在域中使用 UserName@Domain 创建,用户名长度为 23,我必须阅读它
    • 我用过但给我显示的名字
    猜你喜欢
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2015-06-09
    • 2015-03-31
    • 2018-11-09
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    相关资源
    最近更新 更多