如何在Windows PowerShell中获取当前用户名?
当前回答
如果你习惯批处理,你可以打电话
$user=$(cmd.exe /c echo %username%)
这基本上窃取了如果你有一个只有“echo %username%”的批处理文件的输出。
其他回答
有时,Username属性在Win32_ComputerSystem中没有数据,即使有用户登录。对我来说有用的是使用quser并解析输出。这并不完美,但很有效。例如:
$quserdata = @()
$quserdata = quser
$userid = ($quserdata[1] -split ' ')[1]
$userid
注意:如果以登录用户的身份运行,quser会在输出中添加'>'符号。然后您需要删除该符号,但这主要用于作为系统或其他帐户运行的代码,而不是登录的帐户。
我找到了:
$env:UserName
还有:
$env:UserDomain
$env:ComputerName
$username=( ( Get-WMIObject -class Win32_ComputerSystem | Select-Object -ExpandProperty username ) -split '\\' )[1]
美元的用户名
第二个用户名仅用于复制和粘贴时显示。
我想要加入whoami命令,这基本上是一个很好的别名,用于执行%USERDOMAIN%\%USERNAME%,正如在其他答案中提出的那样。
Write-Host "current user:"
Write-Host $(whoami)
$env:用户名是最简单的方法
推荐文章
- 我如何找到哪个程序正在使用端口80在Windows?
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 如何在Windows命令提示符下运行.sh ?
- 如何在PowerShell中获得本地主机名?
- 如何从命令行在windows中找到mysql数据目录
- 在没有事件源注册的情况下写入Windows应用程序事件日志
- PowerShell:如何将数组对象转换为PowerShell中的字符串?
- 无法在Windows上从/usr/local/ssl/openssl.cnf加载配置信息
- 从PowerShell ISE中的另一个PS1脚本调用PowerShell脚本PS1
- GIT克隆在windows中跨本地文件系统回购
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 是否有一种方法可以通过双击.ps1文件来使PowerShell脚本工作?
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?