【发布时间】:2017-09-10 16:26:49
【问题描述】:
我有一个作为管理员进程运行的常规程序。但它并没有我需要的所有特权。如何提升此进程以作为本地系统帐户运行?
我不想使用任何外部工具来实现这种提升。如果我可以调用一些 Win32 函数来实现它,那将是理想的。我也愿意编写和运行 Windows 服务,以便将其权限传递给相关进程。
有人请给我一个线索。我的搜索只是让我转圈圈。
【问题讨论】:
-
“常规程序”不应作为本地系统运行。您需要本地系统权限的任务是什么?
-
我想删除我所有的文件。这是我的系统,所以我为所欲为。当然,这是开玩笑的意思。但你明白了。我是一名专业开发人员,并不在寻找基本的软件原理。我正在寻找技术问题的技术解决方案。
-
写一个windows服务并作为本地系统运行。
-
据我所知,您必须将程序注册为服务才能这样做。 Google CreateService API
-
“我正在寻找技术问题的技术解决方案”。好吧,那就告诉我们问题所在。这是又一个 XY 问题。有一个隐含的假设,即它是可能的,甚至假设它通过提升发生,但提升是一个 UAC 概念,
Local System甚至不参与 UAC。实际上,既然是 XY 问题,我想微软从来不会费心去实现 Y 部分。