使用比“以管理员身份运行”更少的权限启动应用程序

本文关键字:权限 应用程序 启动 运行 身份 管理员 | 更新日期: 2023-09-27 18:35:21

我有一个应用程序需要以管理员身份运行。

此应用有时需要启动辅助应用程序,但第二个应用程序从父应用程序继承"以管理员身份运行"提升状态。我不想要这个,我想以与不启动"以管理员身份"时授予的权限相同的权限启动第二个应用程序

相反,我可以找到许多关于这种情况的文章,但没有一篇是关于降低访问权限的文章。

这可能吗?

使用比“以管理员身份运行”更少的权限启动应用程序

这篇 MSDN 帖子将我重定向到这个 SO 问题

它提出了以下建议,因为从提升启动非提升过程容易出错:

  1. 应用最初作为非提升的应用程序启动,其清单具有asInvoker级别。

  2. 启动时,它会使用谓词以提升的权限重新启动自身runas并传递命令行参数来指示它。此实例执行需要管理员权限的所有部分。

  3. 此处再次出现非提升的应用,并使用在步骤 1 中启动应用的第一个实例的相同非提升的用户令牌启动辅助应用程序。

我希望这可以应用于您的场景。

如前所述,您想要实现的目标非常容易出错,但是在这个SO问题中,有一些可能的黑客解决方案。