在Windows 8.1上,我尝试从启动期间调用的批处理文件启动程序,我希望程序以管理员身份运行。 这是我的工作:
但它不会发生。有一个短暂的“哔哔”声,好像Windows正在显示一条消息,要求确认程序应该以管理员身份运行,但屏幕上看不到任何内容。
a)如果我标记了快捷方式& exe NOT 以管理员身份运行,然后启动EXE
b)如果我标记了快捷方式&以管理员身份执行运行,然后EXE 不启动
c)如果我将 NOT 的快捷方式标记为以管理员身份运行,并将EXE 标记为作为管理员,那么EXE 已启动但 >不以管理员身份运行
d)EXE的启动快捷方式。 (没有批次)。短语不标记为以管理员身份运行,EXE 标记:EXE未运行。
e)EXE的启动快捷方式。 (没有批次)。短语不标记为以管理员身份运行,EXE 不已标记:EXE正在运行,但不是管理员。
我尝试完全禁用UAC - 结果相同。 我还尝试使用另一个EXE代替批处理,结果相同。
那么 - 是否有办法从启动时获得EXE的快捷方式,以管理员身份运行EXE?
答案 0 :(得分:6)
您可以在任务计划程序的帮助下完成此操作。
打开运行对话框Win + R
并运行以下命令:
%SystemRoot%\system32\taskschd.msc
点击Create Task...
Run with highest privileges
Actions
标签,New....
,浏览到 prog.exe 转到 .bat 文件,然后转到要运行 prog.exe 的地方
schtasks /run /tn "FooBar"
Bat文件不必以管理员身份运行(如果它不需要),prog.exe将在没有任何提示的情况下升级。
答案 1 :(得分:0)
只要您的计算机上有PowerShell,就可以轻松提升批处理脚本:
net file 1>nul 2>nul && goto :run || powershell -ex unrestricted -Command "Start-Process -Verb RunAs -FilePath '%comspec%' -ArgumentList '/c %~fnx0 %*'"