如何从管理员 powershell 启动非管理员进程
Posted
技术标签:
【中文标题】如何从管理员 powershell 启动非管理员进程【英文标题】:How to start a non-administrator process from an administrator powershell 【发布时间】:2017-05-05 15:30:47 【问题描述】:从管理员 PowerShell 中,有没有办法在不同(例如,非管理员)用户下生成另一个 shell(或 .exe)?我知道这可以通过 su username 在 Linux/Bash 中实现,但是 Windows 允许吗?
C++ here 和C# here 已经回答了这个问题,但我想知道在 PowerShell 中是否可行。
【问题讨论】:
不确定你是不是这个意思:runas /trustlevel:0x20000 "powershell.exe -command 'hostname'
是的,在最后加上引号,然后将其转换为答案。我也很好奇不同的信任级别是什么,但看起来 0x40000 是某种管理员。
注意这个doesn't completely remove elevated privileges from the child.
见:***.com/questions/40863475/…
谢谢,@iRon。将是重复的,除非它没有接受答案。
【参考方案1】:
试试这个:
runas /trustlevel:0x20000 "powershell.exe -command 'hostname'"
【讨论】:
以上是关于如何从管理员 powershell 启动非管理员进程的主要内容,如果未能解决你的问题,请参考以下文章
使用 CreateProcessWithTokenW() 从管理员帐户以非提升模式启动进程