繁体   English   中英

没有管理员权限 在具有管理员权限的登录用户上下文中启动桌面应用程序

[英]Without Administrator Privileges Launching Desktop Application in a logged in User context with Administrator Privileges

我只想运行安装在 Program Files 和 Program File (x86) 文件夹中的本地桌面应用程序,该应用程序应该以登录用户上下文的管理员权限运行。 我用谷歌搜索并了解了一些。

根据我的想法需要:-

  1. 带有套接字客户端的文件资源管理器 GUI
  2. 服务
  3. 本地应用程序使用 Socket Server 启动可执行文件(控制台应用程序)

注意:文件资源管理器之间的通信将使用套接字客户端和服务器进行。 该服务将在系统上下文中启动本地应用程序服务器。

假设安装了文件资源管理器、服务和应用程序启动服务器。 使用文件资源管理器将选择应用程序,并将选择的应用程序信息发送到服务器。 服务器将检查请求的路径是否来自可信路径。

如果它来自受信任的路径,服务器将从“winlogon.exe”获取句柄并获取访问令牌的句柄,然后复制访问令牌并调整其权限(默认系统权限将在那里,我不希望那样因为系统将具有完全权限)然后使用 CreateProcessAsUser 启动应用程序。

启动后,将 UI 带到前台。 应用程序需要在具有管理员权限的用户上下文中运行。

我的问题如下:-

  1. 为了实现这一点,我需要在服务中启用交互过程吗?
  2. 如果需要交互,用户和本地服务器之间的通信是使用套接字进行的,用户不直接与服务交互,只是想知道我是否遵循了下面文档中所述的 Microsoft 安全措施,或者我是否违反了它? https://docs.microsoft.com/en-us/windows/win32/services/interactive-services
  3. 我们有没有其他方法可以在没有实际管理员权限的情况下在登录的用户上下文中启动具有管理员权限的应用程序?

目标操作系统是 Windows 10 1803 和 1809。

查看工具psexecpaexec (它们大多相同,主要区别在于后者是开源的)。

这些工具允许您以其他用户身份和/或在另一台计算机上启动进程。 这也应该适用于服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM