PowerShell中等效于Linux su -命令的切换用户方法是什么?
PowerShell 命令行切换用户操作方法
Windows PowerShell 没有原生完全等价于 Linux su - 命令的内置功能,要实现从当前neo用户切换到trinity用户、获取对应执行权限的需求,可参考以下两种常用方案:
方案1:启动trinity身份的独立PowerShell会话(最接近你需要的su -效果)
- 适用场景:需要完全进入trinity的用户环境,执行多个只有trinity有权限的脚本
- 执行命令:
Start-Process powershell.exe -Credential trinity -WorkingDirectory "C:\Users\trinity"
- 操作说明:执行命令后会弹出密码输入框,输入trinity用户的正确登录密码后,会弹出新的PowerShell窗口,默认提示符就是
PS C:\Users\trinity>,完全继承trinity用户的读写、执行权限,符合你的需求。
方案2:当前窗口临时以trinity身份执行命令/脚本
- 适用场景:只需要临时执行单条有权限要求的操作,不想切换到新窗口
- 执行命令:
Invoke-Command -ComputerName localhost -Credential trinity -ScriptBlock { 此处替换为你要执行的命令或脚本路径 }
- 操作说明:输入trinity的密码后,会直接在当前窗口返回执行结果,无需弹出新窗口。
注意:如果trinity用户属于管理员组,且你的Windows Server开启了UAC,需要获取管理员权限的话,可以在方案1的Start-Process命令中添加
-Verb RunAs参数。
内容的提问来源于stack exchange,提问作者Yusuf W
相关产品推荐
相关产品推荐

