我在一个目录中有 3 个.bat
文件。其中两个必须以管理员权限运行。一个则必须以非管理员权限运行(坦白说,我不确定为什么。它会安装一个 Windows 服务,如果以.bat
管理员身份调用,则该服务不起作用)。
为了简单起见,我想将它们全部放在同一个位置,这样我就可以在同一个命令提示符中轻松切换它们,我以管理员身份运行该命令提示符。不幸的是,这意味着我无法正确调用第三个脚本,因为它继承了管理员权限。
该脚本非常简单:
start /DC:\path_to_script script.bat
有没有办法“降低”对该.bat
文件的调用,以便它在没有管理员权限的情况下运行?
答案1
runas /trustlevel:0x20000 script.bat
0x20000 表示“基本用户”。
这正是您想要的。script.bat 以非特权方式运行。
/D<path>
请注意:作为参数给出的效果也可以通过运行 并放置 在脚本的第一行START
来实现 。(%˜p0 扩展为脚本本身的路径)。runas /trustlevel:0x20000 <fullpath>\script.bat
cd /D %˜p0