在日常使用中,我们经常需要从普通权限的命令行窗口(CMD 或 PowerShell)启动一个具有管理员权限的终端窗口。以下是各种方式的整理,包括可复用的 .bat 脚本创建方式。
说明
CMD(普通权限) 无法“提升自身权限”,但可以启动一个新的 管理员 CMD 窗口
同理,PowerShell(普通权限) 也可以调用系统接口启动 管理员终端
使用 Start-Process -Verb RunAs 是最推荐的方式,会触发 UAC 提示
创建启动管理员权限的bat文件
创建两个bat文件,分别用来启动管理员 CMD和Powershell
cmda.bat
用来启动新的 管理员 CMD 窗口
@echo off
powershell -Command "Start-Process cmd -Verb RunAs"
psa.bat
用来启动新的 管理员 Powershell 窗口
@echo off
powershell -Command "Start-Process powershell -Verb RunAs"
将这两个文件放在%UserProfile%\AppData\Local\Microsoft\WindowsApps路径下面。
调用bat文件来启动管理员窗口
在命令行的中输入cmda来调用cmda.bat启动管理员。
在命令行的中输入psa来调用psa.bat启动管理员。
为什么可以输入cmda和psa来启动管理员呢?
在“用户环境变量”的 Path 中,可以看到%USERPROFILE%\AppData\Local\Microsoft\WindowsApps的配置,这个目录是微软为了支持应用别名(App Execution Aliases)而设置的,用于:
Windows Store 应用(如 python.exe, node.exe, code.exe 等)
用户安装的可执行代理文件(指向真实应用路径)
.bat 或 .exe 文件放入此目录,也能被自动识别
也就是说,任何你放进去的 .bat、.exe 文件,都会被当作一个“全局命令”对待。