Windows与Unix“ whoami”命令等效吗?


Answers:


73

从Windows 2000开始,该whoami命令已成为标准命令行的一部分(感谢pk消除了注释中的内容!)。

您可以这样做:打开命令提示符并键入“ set”,然后按Enter。这显示了活动的环境变量。当前登录的用户名存储在USERNAME env变量中,而您的域存储在USERDOMAIN变量中。

要通过cmd行附带其他答案:

echo %USERDOMAIN%\%USERNAME%

将以域\用户名格式为您提供完整的登录用户。

您可以使用Powershell执行以下操作:

write-host $env:userdomain\$env:username

1
+1用于教育方面,包括域和用户名
tomjedrz,2009年

@squillman以Sytem用户身份运行命令提示符时,如何使此工作有效?导致这种情况的原因是,没有诸如%USERDOMAIN%或%USERNAME%之类的环境变量
GianT971 2012年

@ GianT971您是说LocalSystem吗?该帐户没有与登录用户关联的方法,因此无法使用。通常,此帐户用于服务,并且当服务作为LocalSystem运行时,它将承担服务控制管理器的安全上下文。
squillman 2012年

好。是的,这就是我的意思。也许使用PowerShell的最新版本是可能的,因为在运行.NET应用程序并调用LocalSystem帐户下的Environment.Username时,结果为“ System”。但是我还没有对PowerShell进行很好的了解
GianT971 2012年

@ GianT971您可以生成cmd或powershell进程并运行脚本,但不会获得交互式shell。
squillman 2012年

16

这将报告其他所有人都说的大多数相同信息,但是您也可以输入

SET U

它将返回以U开头的所有环境变量。

顺便说一句,SET L可用于调试登录服务器问题。


1
有时您只看到必须共享的提示,这两个很棒。
浴缸2009年


5

从命令行?应该执行“ echo%username%”。登录的用户存储在环境变量“用户名”中。

通过图形会话,ctrl-alt-del将为您提供一个屏幕,其中显示了已登录的用户。



3

上面是操作系统固有的和更好的答案,但出于完整性的考虑,在2000&XP支持工具中确实存在whoami.exe。如果您的命令设置为32 kb,则很容易通过组策略进行部署。


1

在autoexec或DOS提示符下,键入提示符%USERDOMAIN%\%USERNAME%$ p $ g,您将显示您的登录身份,并看到如下所示的典型提示符:DOMAIM \ username C:>

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.