如何从管理进程作为当前用户特权运行进程

问题描述 投票:2回答:3

[当安装程序(由Inno Setup构建)启动一个进程时,始终以管理员权限运行该进程。 -因为安装程序已以管理员身份运行。

我想以当前用户的特权运行子进程。有什么好方法吗?

windows winapi windows-vista manifest windows-security
3个回答
-1
投票

尽管不被认为是最佳实践(甚至不是好的实践),但是可以从高/管理IL过程中启动中等IL过程:

See this post on codeproject

我可以确认此代码在启用和不启用UAC的Vista 32和64位系统上都可以使用。


13
投票

此问题每3或4个月就会在MSFT内部出现。

安全人员给出的答案是:您不能。创建提升的流程令牌后,会对令牌进行的更改无法撤消。

您最好的选择是拥有一个启动器应用程序,该应用程序运行提升的安装程序,然后在提升的安装程序完成后转身运行子进程。


0
投票

作为启动器,您可以使用便携式Powershell应用程序部署套件(Link)。您可以编辑deploy-application.ps1并使用Execute-ProcessAsUser与当前用户一起运行应用程序/脚本,而不提示输入凭据。

© www.soinside.com 2019 - 2024. All rights reserved.