You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求问Windows中等效于sudo su的终端会话提权命令

实现VS Code内置终端全会话提权(类似Linux sudo su)的方案

先给你说清楚核心限制:Windows的进程权限是启动时就固定的,不像Linux那样能在现有shell里直接升级整个会话的权限——原生的runas只能单独启动一个高权限进程,没法把当前普通用户的终端会话直接转成管理员级别。不过针对你用VS Code右键打开项目、不想每次都弹UAC的场景,有几个实用的解决办法:

1. 用gsudo完美模拟sudo su体验

这是我最推荐的方案,gsudo是专门给Windows做的开源sudo替代工具,能直接在当前VS Code终端里启动管理员级别的shell,和Linux的sudo su效果一模一样:

  • 先装gsudo:可以用Chocolatey包管理器(choco install gsudo),或者去它的GitHub仓库下载安装包直接装。
  • 在VS Code内置终端里输这条命令,确认UAC后整个会话就变成管理员权限了:
    gsudo su
    
    要是用的是PowerShell,也可以直接输gsudo powershell,后续所有命令都不用再单独提权,完全符合你的需求。

2. 改右键“Open With Code”的启动权限

你说常通过右键菜单打开项目,不想每次手动开VS Code都弹UAC,但又希望此时的终端有管理员权限。可以改注册表实现这个需求:

  1. 按Win+R输regedit打开注册表编辑器。
  2. 找到目录右键的VS Code项:HKEY_CLASSES_ROOT\Directory\shell\VSCode\command(如果是文件右键,就找HKEY_CLASSES_ROOT\*\shell\VSCode\command)。
  3. 双击右侧的(默认)值,把原命令改成用gsudo启动(前提是已经装了gsudo,这样不用每次输密码):
    "C:\Path\To\gsudo.exe" "C:\Users\<你的用户名>\AppData\Local\Programs\Microsoft VS Code\Code.exe" "%1"
    
    要是不想装第三方工具,也可以用系统自带的runas,不过每次都要输管理员密码:
    runas /user:你的管理员账户 "C:\Users\<你的用户名>\AppData\Local\Programs\Microsoft VS Code\Code.exe" "%1"
    

这样,只有右键打开项目时VS Code才会以管理员身份启动(弹一次UAC),平时手动开VS Code还是普通权限,不会弹UAC,完美适配你的使用习惯。

3. 原生工具临时提权的折中方案

如果不想装任何第三方工具,也可以用这条命令在VS Code终端里启动一个管理员级别的会话,不过会新开一个外部窗口:

  • 启动管理员Cmd:
    start /min cmd /k runas /user:Administrator cmd
    
  • 启动管理员PowerShell:
    Start-Process powershell -Verb RunAs
    

虽然体验不如gsudo在当前终端里好,但胜在不用额外装东西,应急用也可以。


内容的提问来源于stack exchange,提问作者Menas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:12:53