从提升的提示符运行未提升的命令?

从提升的提示符运行未提升的命令?

是否可以运行命令没有通过运行的批处理文件提升权限提升权限?

答案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

对我来说,唯一不使用任何第三方软件的方法是使用任务计划程序。

  1. 创建一个新任务来运行该命令。
  2. 不要勾选“以最高权限运行”。
  3. 在操作选项卡中指定命令
  4. 然后从提升的命令提示符执行:schtasks /运行/TN你的任务名称

相关内容