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


当前回答

$env:用户名是最简单的方法

其他回答

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

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

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

$env:用户名是最简单的方法

在我的例子中,我需要检索用户名以使脚本更改路径,即。c: \ \ %的用户名% \用户。我需要通过更改用户桌面的路径来启动脚本。在上面和其他地方的帮助下,我可以通过使用get-location小程序来做到这一点。

你可能有另一种更好的方法,但这对我来说很管用:

$Path = Get-Location

Set-Location $Path\Desktop

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

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

$username=( ( Get-WMIObject -class Win32_ComputerSystem | Select-Object -ExpandProperty username ) -split '\\' )[1]

美元的用户名

第二个用户名仅用于复制和粘贴时显示。