以正确的方式获取Windows域用户名(与Active Directory匹配)

如何获取Windows 7域用户的用户名(例如RoseRoss ),而不是login到其工作站时(例如roserossrOsErOSs或其他) roseross rOsErOSs任何情况。 ?

是否有一个设置将强制%USERNAME%环境variables始终使用规范的活动目录情况?

对于这个办公室中的一些用户, %USERNAME%总是在他们login时input的情况下。

对于其他用户, %USERNAME直到最近一直处于规范的情况下(对于用户login为elenasimpson它将返回ElenaSimpson ),但上个星期神秘地开始只有这样做,其余时间返回键入。 重新启动往往切换到其他行为。

所以我想要一种强制总是在%USERNAME%上的规范化行为的方法,或者能够忽略那个环境variables,并find另一种获得标准Active-Directory情况下的用户名的方法。

谢谢。

这个答案属于你从AD查询用户名的第二个选项。 如果你打开PowerShell的解决scheme,你有几个select。

您的情况感觉就像您想要从每个用户工作站执行此操作,并且PS AD模块可能并不总是可用于这些目标。 在这种情况下,你可以得到像这样的信息:

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

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

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