在Windows下,如何以用户登录的方式运行具有管理员权限的程序?

在Windows下,如何以用户登录的方式运行具有管理员权限的程序?

我正在使用 Windows 8.1 x64,并且我想在用户登录时以管理员权限运行程序。

我尝试创建该程序的快捷方式,并在快捷方式或程序本身的属性中勾选“以管理员身份运行”,并将快捷方式放入C:\Users\MyUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartupC:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,但勾选该框只会使其无效。

然后我用 Resource Hacker 编辑了该程序,修改了它的清单,使得该程序需要管理员权限。这也使得启动目录下的快捷方式无效。所以在这之后,我尝试添加该程序,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run但也没有成功。

我究竟怎样才能在用户登录时以管理员权限运行程序?

答案1

最好的方法(如果您不仅希望以管理员身份运行,而且希望没有 UAC 提示,那么这也是唯一简单的方法)是创建计划任务。在那里,您可以指定要在哪个用户下运行它,还可以指定它应该“以最高权限运行”。这可能是您真正想要的,因为复选框按钮“以管理员身份运行”确实会触发 UAC 提示,而不是真正使用管理用户。如果您还将触发器指定为“用户登录时”,它应该具有与使用启动或运行键相同的效果。

或者,您可以使用带有 /savecred 选项的 runas 来存储另一个用户的密码并永久缓存它,但据我所知它不能解决 UAC 问题。

答案2

  1. 创建类似 appStart.cmd 的文件,其中包含:

    start "" %1

  2. 您必须在注册表中添加 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

键值对

键:“应用程序名称”

值:“path-to-appStart.cmd”“path-to-myapp.exe”

这样,在 Windows 启动时,它将从命令提示符调用您的应用程序,并请求以管理员身份运行的权限。接受命令提示符后关闭,您的应用程序将以管理员权限运行。

相关内容