避免UAC,但使用windows服务启动提升进程



我在Windows机器上以特权SYSTEM用户的身份运行一个非交互式服务,我需要它作为提升进程启动一个给定的可执行文件。

我已经成功地启动了一个子进程作为SYSTEM,使用WTSGetActiveConsoleSessionId(),找到一个系统进程并复制它的令牌。类似地,我可以作为普通用户启动一个未提升的进程。但是,我需要以普通用户的身份启动该进程,但要具有更高的权限——这样我就不必显示UAC,但该进程是作为适当的用户运行的。

我没有试图绕过UAC -因为用户已经同意安装服务。我只是想减轻你的不便。我发现了一个类似的,没有答案的问题——但我又问了一遍,希望能得到答案。

如果您有一个用于交互用户的过滤令牌—例如,通过WTSQueryUserToken()检索的令牌—您可以通过使用带有TokenLinkedToken选项的GetTokenInformation函数检索未过滤的("提升的")令牌。

相关内容

最新更新