是否可以运行命令没有通过运行的批处理文件提升权限和提升权限?
答案1
这似乎有效。
runas /trustlevel:0x20000 <program>
(可以在批处理文件中测试提升权限像这样)
runas /?
我从中得到了提示
/showtrustlevels displays the trust levels that can be used as arguments
to /trustlevel.
/trustlevel <Level> should be one of levels enumerated
in /showtrustlevels.
runas /showtrustlevels
输出
The following trust levels are available on your system:
0x20000 (Basic User)
我没有更深入的理解,但它似乎可以完成工作。
哎呀,结果发现这至少对我来说造成了问题。
我的目的是启动 Chrome,但所有页面都崩溃了,无法加载。
另一个问题是,我无法在以这种方式和正常方式启动的应用程序中拖放项目。
任务计划程序是另一种方法。它不会引起上述问题。尽管您必须提前创建特定任务。
答案2
我已尝试过explorer <full path to command to execute>
并且有效。
我的想法是:以前我曾尝试过以explorer
管理员身份运行,但没有成功。此外,当我尝试创建快捷方式时explorer
,以管理员身份运行选项显示为灰色。
我认为现在是将探险者的行为转化为利益的时候了。
答案3
我发现了两种方法可以做到这一点:
第一个需要 Nirsoft 的 RunFromProcess.exe 程序。假设进程 explorer.exe 没有被提升权限运行,那么这个会起作用:
runfromprocess explorer.exe cmd.exe /k pushd %temp%
或者
runfromprocess explorer.exe "C:\full path\to\bat\file.bat
更好的方法是使用 Stardock 的 DeElevate.exe 程序:
DeElevate.exe "C:\full path\to\bat\file.bat" ["parameters"]
或者
DeElevate.exe "C:\full path\to\program.exe" ["parameters"]
例如,这将有效:
DeElevate.exe cmd.exe "/k pushd %temp%"
您可以在 Groupy 应用程序中找到 DeElevate.exe 程序:
http://storage.stardock.com/files/current/Groupy-sd-setup.exe
安装后(最好在沙箱或者虚拟机) 如果您的系统是 64 位,则只需要目录“C:\Program Files (x86)\Stardock\Groupy\”中的文件 DeElevate64.exe 和 DeElevator64.dll;如果您的系统是 32 位,则只需要目录“C:\Program Files\Stardock\Groupy\”中的文件 DeElevate.exe 和 DeElevator.dll。
答案4
对我来说,唯一不使用任何第三方软件的方法是使用任务计划程序。
- 创建一个新任务来运行该命令。
- 不要勾选“以最高权限运行”。
- 在操作选项卡中指定命令
- 然后从提升的命令提示符执行:schtasks /运行/TN你的任务名称