高权限CMD运行runas报740提权错误问题咨询
已提权终端执行命令仍报740提权错误的解决方案
问题现象
- 在已获取管理员权限的CMD窗口执行操作时,收到错误提示:
740: The requested operation requires elevation.(请求的操作需要提升权限) - 先后执行两类命令尝试以域账号
aloc-ad\teksupadmin身份启动虚拟机管理控制台,均触发相同错误,无法正常打开目标程序:- CMD下调用runas的原命令(存在语法+逻辑问题):
"C:\Windows\System32\runas.exe /savecred /noprofile /user:aloc-ad\teksupadmin "%windir%\System32\mmc.exe %windir%\System32\virtmgmt.msc""
- PowerShell下调用Start-Process的原命令(缺少关键参数):
Start-Process -FilePath c:\Windows\System32\mmc.exe -ArgumentList c:\Windows\System32\virtmgmt.msc -Credential aloc-ad\teksupadmin
错误根因
740错误和当前父终端是否具备管理员权限没有直接关系:
runas命令、带-Credential参数的Start-Process默认仅会以指定用户的普通完整性令牌启动进程,不会自动触发UAC提权流程。virtmgmt.msc(虚拟机管理控制台)通过mmc加载运行时要求高完整性管理员令牌,指定账号启动的进程没有拿到提升后的令牌时,就会直接抛出740错误。- 原runas命令还存在引号嵌套错误:整段命令被外层引号包裹,系统会将整段字符串识别为可执行文件路径,本身就存在语法问题。
正确配置方法
CMD环境下的修正命令
修正引号嵌套逻辑,通过cmd中转触发提权流程,可直接执行:
C:\Windows\System32\runas.exe /savecred /noprofile /user:aloc-ad\teksupadmin "cmd /c start \"\" %windir%\System32\mmc.exe %windir%\System32\virtmgmt.msc"
若指定的域账号本身不属于本地管理员组,执行时仍会弹出UAC窗口,要求输入具备本地管理员权限的账号凭证。
PowerShell环境下的修正命令
显式添加-Verb RunAs参数,强制触发UAC提权流程,可直接执行:
Start-Process -FilePath "c:\Windows\System32\mmc.exe" ` -ArgumentList "c:\Windows\System32\virtmgmt.msc" ` -Credential aloc-ad\teksupadmin ` -Verb RunAs
首次执行会弹出凭证输入框,输入对应账号密码后,若系统已开启凭证缓存,后续执行不需要重复输入。
注意事项
- 不要将runas的可执行文件路径和后续参数整体包裹在一对引号内,会触发“找不到文件”错误。
- 若系统UAC被设置为“从不通知”的最低档位,上述提权逻辑会失效,需要将UAC调整至默认及以上档位才能正常生效。
内容的提问来源于stack exchange,提问作者nOrphf
相关产品推荐
相关产品推荐

