在Windows下如何在用户登录时运行具有管理员特权的程序?


11

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

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

然后,我由Resource Hacker编辑了该程序以修改其清单,以便该程序需要管理员特权。这也使启动目录下的快捷方式无效。因此,在此之后,我尝试将程序添加到其中,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run但也没有起作用。

我究竟如何在用户登录时运行具有管理员权限的程序?


开始使用脚本runas
Ramhound 2015年

@Ramhound您的意思是写一个内容是多少的批处理runas /env /user:domain\Administrator X:\path\to\the\program.exe并将其放在自动启动目录中?
Frederick Zhang

您几乎可以使用任何想要运行该命令的东西。它不必是批处理脚本。
Ramhound 2015年

1
@Ramhound但是此命令将提示输入我不希望输入的密码。
Frederick Zhang

您可以使用runas并保存管理员凭据,尽管出于明显的原因会带来安全风险。您是该程序的100%管理员权限,才能正常工作吗?
Ramhound 2015年

Answers:


14

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

或者,您可以将runas与/ savecred选项一起使用来存储另一个用户的密码一次,并将其永久缓存,但不能解决UAC afaik的问题。


1
我也首先尝试了任务计划程序,但它使程序的任务栏图标丢失了。但是我刚刚检查了任务的配置,发现了一个组合框,Configure for其默认值为Vista / 2008。然后我将其切换到Windows 8.1,现在一切正常。谢谢。
Frederick Zhang

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

    start "" %1

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

键值对

关键字:“ appname”

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

以这种方式在Windows上启动时,它将在命令提示符下调用您的应用程序,并要求获得以管理员身份运行的权限。接受命令提示符后,关闭,您的应用程序将以管理员权限运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.