如何从管理员 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 启动非管理员进程的主要内容,如果未能解决你的问题,请参考以下文章

WMI - 使用非管理员帐户查询服务器

以管理员用户身份重新启动 PowerShell 脚本

使用 CreateProcessWithTokenW() 从管理员帐户以非提升模式启动进程

如何使用 PowerShell 在 IIS 中停止和启动各个网站?

以非管理员权限从 Mac .pkg 启动新安装的应用程序

PowerShell 从管理选项卡更改打印机配置