如何在Windows PowerShell中获取当前用户名?
当前回答
$username=( ( Get-WMIObject -class Win32_ComputerSystem | Select-Object -ExpandProperty username ) -split '\\' )[1]
美元的用户名
第二个用户名仅用于复制和粘贴时显示。
其他回答
我找到了:
$env:UserName
还有:
$env:UserDomain
$env:ComputerName
我发现最容易使用的:cd $home\Desktop\
会转到当前用户桌面吗
在我的例子中,我需要检索用户名以使脚本更改路径,即。c: \ \ %的用户名%的用户。我需要通过更改用户桌面的路径来启动脚本。在上面和其他地方的帮助下,我可以通过使用get-location小程序来做到这一点。
你可能有另一种更好的方法,但这对我来说很管用:
$Path =获取位置
Set-Location \ $ Path桌面
只是在其他人工作的基础上:
[String] ${stUserDomain},[String] ${stUserAccount} = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name.split("\")
有时,Username属性在Win32_ComputerSystem中没有数据,即使有用户登录。对我来说有用的是使用quser并解析输出。这并不完美,但很有效。例如:
$quserdata = @()
$quserdata = quser
$userid = ($quserdata[1] -split ' ')[1]
$userid
注意:如果以登录用户的身份运行,quser会在输出中添加'>'符号。然后您需要删除该符号,但这主要用于作为系统或其他帐户运行的代码,而不是登录的帐户。
在Windows上,你可以:
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
推荐文章
- 数组添加 vs +=
- 如何使用Windows命令行更改目录
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- 如何使用命令行工具为Mac OS X创建一个漂亮的DMG ?
- Objective-C for Windows
- “注册”一个.exe,这样你就可以从Windows中的任何命令行运行它
- Windows批处理文件的隐藏特性
- PowerShell中用户输入的提示符
- 如何在bash脚本中检查文件名的扩展名?
- 目的!/ usr / bin / python3过程
- Windows递归grep命令行
- 如何从字符串执行任意本机命令?
- 如何创建自己的URL协议?(例如:/ /……)
- 在Windows批处理脚本中格式化日期和时间
- 映射一个网络驱动器供服务使用