批处理文件:删除提升的权限(以原始用户身份运行命令)

时间:2013-11-26 13:13:19

标签: batch-file elevated-privileges

我有一个以提升权限开头的批处理文件(我的安装程序会生成它),但在某个时刻我需要以启动安装程序的原始用户身份运行命令(即从提升的权限中删除)。

是否可以这样做?

2 个答案:

答案 0 :(得分:12)

您可以使用以下命令运行具有受限权限的命令:

runas /trustlevel:0x20000 "YourCommandHere"

您应该提供命令的绝对路径,包括双引号中的任何参数作为runas的参数。

如果您想使用受限制的权限运行多个命令,可以将它们放在单独的批处理文件中并使用以下命令运行:

runas /trustlevel:0x20000 "cmd /C PathToYourBatchFile"

无论如何,这将打开一个具有受限权限的新控制台。每当您希望使用受限特权运行内部命令(如copydel等)时,您还必须使用此语法,因为这些命令由命令行解释程序提供,并且没有关联路径。

请注意,0x20000是标准用户的信任级别。您可以通过运行

列出其他可用的信任级别
runas /showtrustlevels

答案 1 :(得分:0)

1。 使用以下命令,它仍然是任务管理器中的特权程序(即使受限制):

runas /trustlevel:0x20000 <cmd>

2。 您可以尝试另一种方法,这将使其在任务管理器中无特权:

runas /savecred /user:%username% <cmd>

您仍然需要一次而不是每次输入密码。

3。 使用explorer.exe启动程序:

explorer.exe <cmd>

exploere.exe不会接受cmd的参数,您可以创建一个临时脚本文件,并在需要参数时通过explorer.exe对其进行处理。