【问题标题】:Alternative ways to enable an application to run with admin rights使应用程序能够以管理员权限运行的替代方法
【发布时间】:2020-04-12 23:03:01
【问题描述】:

我有一个控制台应用程序,它可以监视所有 Windows 进程,等待特定的进程出现,然后使用 UI 自动化处理它。它只分发给需要它并愿意安装它的人,因此它不会做任何恶意行为。

现在它通过要求管理员权限来工作,以便它可以监视所有进程并捕获该特定进程。然而,我们面临的问题是用户使用 Citrix 等桌面虚拟化软件。他们没有管理员权限,并且出于安全预防措施不能被授予任何权限。

我想到的三个选择是:

  1. 以管理员身份创建桌面快捷方式,只需输入一次管理员凭据,以便之后普通用户可以使用它,但事实证明这不是一个选项,因为管理员不能以任何方式参与其中。
  2. 第二个是重新设计应用程序,以便它使用一个 Windows 服务来捕获进程的到达然后执行工作,但结果是 Windows 服务不能与桌面会话一起工作,这意味着它不能使用 UI自动化使应用变得毫无用处。
  3. 可能会添加类似获取所有进程并按名称搜索所需进程的内容,但这种情况的再次出现频率必须太小(小于一秒),如果进程过多会导致问题

我想知道是否有什么办法可以解决/绕过它。到目前为止,我无法找到一种方法来捕获没有管理员权限的所需进程

【问题讨论】:

    标签: windows-services ui-automation administrator admin-rights managementeventwatcher


    【解决方案1】:

    只需使用 Windows 服务(以管理员身份)您的桌面应用程序。

    Windows 服务执行需要管理员权限的所有操作,桌面应用程序负责 UI 任务。这些程序可以通过命名管道、共享内存或环回网络套接字进行通信。

    免责声明

    确保确保进程间通信的安全。另一个用户进程应该无法使用您服务的管理员权限。

    【讨论】:

      猜你喜欢
      • 2013-03-04
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2015-05-07
      • 1970-01-01
      • 2013-07-24
      相关资源
      最近更新 更多