获取正确大小写的 Windows 域用户名(以匹配 Active Directory)

获取正确大小写的 Windows 域用户名(以匹配 Active Directory)

如果 Windows 7 域用户的用户名存储在 Active Directory 中(例如RoseRoss),那么如何获取该用户名,而不是他们在登录工作站时碰巧输入的任何情况(例如roserossrOsErOSs或其他)?

是否存在某种设置可以强制%USERNAME%环境变量始终使用规范的 Active-Directory 大小写?

对于本办公室的一些用户来说,%USERNAME%登录时总是会输入该信息。

对于其他用户,%USERNAME直到最近一直处于规范情况(对于用户登录时elenasimpson返回ElenaSimpson),但上周神秘地开始只这样做有时其余时间则按输入内容返回。重启通常会切换到其他行为。

因此,我想要一种始终强制执行规范大小写行为的方法%USERNAME%,或者能够忽略该环境变量并找到另一种方法来获取规范 Active-Directory 大小写的用户名。

谢谢。

答案1

此答案属于您从 AD 查询用户名的第二个选项。如果您愿意使用 powershell 解决方案,则有几种选择。

您的情况感觉像是您想从每个用户工作站执行此操作,而 PS AD 模块可能并不总是在这些目标上可用。在这种情况下,您可以获得相同的信息,如下所示:

([adsi]"WinNT://$env:userdomain/$env:username,user").name
RoseRoss

如果有 AD 模块可用,您可以这样做。

(get-aduser -id $env:username).samAccountName
RoseRoss

相关内容