如何在Windows PowerShell中获取当前用户名?


当前回答

我找到了:

$env:UserName

还有:

$env:UserDomain
$env:ComputerName

其他回答

如果你习惯批处理,你可以打电话

$user=$(cmd.exe /c echo %username%)

这基本上窃取了如果你有一个只有“echo %username%”的批处理文件的输出。

现在PowerShell Core(又名v6)已经发布了,人们可能想要编写跨平台脚本,这里的许多答案都不能在Windows以外的任何平台上工作。

[Environment]::UserName似乎是在PowerShell Core支持的所有平台上获得当前用户名的最佳方法,如果你不想在你的代码中添加平台检测和特殊的外壳。

我找到了:

$env:UserName

还有:

$env:UserDomain
$env:ComputerName

我想要加入whoami命令,这基本上是一个很好的别名,用于执行%USERDOMAIN%\%USERNAME%,正如在其他答案中提出的那样。

Write-Host "current user:"
Write-Host $(whoami)

在Windows上,你可以:

[System.Security.Principal.WindowsIdentity]::GetCurrent().Name