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

VSCode中以管理员身份调试PowerShell 7 Hyper-V脚本遇阻求助

解决PowerShell 7 Hyper-V脚本管理员权限调试问题

一、修复VSCode管理员启动后终端权限异常

  • 完全关闭VSCode(包括后台进程),右键VSCode图标选择「以管理员身份运行」。
  • 打开终端后,运行以下命令确认权限状态:
    ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
    
    • 若返回False,打开VSCode设置(Ctrl+,),搜索「terminal.integrated.defaultProfile.windows」,确认选中PowerShell 7,且未被工作区设置覆盖。
    • 仍异常则删除VSCode终端缓存:前往%USERPROFILE%\AppData\Roaming\Code\CachedData,删除对应版本的缓存文件夹后重启VSCode。

二、修改脚本管理员检测逻辑,支持调试

替换原有检测代码,避免启动新进程中断调试:

# 管理员权限检测,不启动新进程
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if (-not $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Write-Error "请以管理员身份运行PowerShell 7和VSCode"
    Read-Host "按任意键退出"
    exit 1
}

调试前确保VSCode已以管理员启动,脚本权限不足时会直接报错,可正常断点调试。

三、解决「launch-failed, code 18」错误

  • 取消code.exe的「始终以管理员身份运行」设置:右键VSCode快捷方式→属性→兼容性→取消对应勾选。
  • 创建专用管理员快捷方式:右键桌面→新建→快捷方式,目标填写:
    C:\Users\<你的用户名>\AppData\Local\Programs\Microsoft VS Code\Code.exe --no-sandbox
    
    替换<你的用户名>为实际系统用户名,若VSCode安装路径不同则自行修改。
  • 右键新快捷方式→属性→兼容性→勾选「以管理员身份运行此程序」,确定后用该快捷方式启动VSCode。

四、调试配置优化

在VSCode的.vscode/launch.json中添加专用调试配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "PowerShell 7 (Admin)",
            "type": "PowerShell",
            "request": "launch",
            "script": "${file}",
            "args": [],
            "pwsh": true,
            "createTemporaryIntegratedConsole": true
        }
    ]
}

保存后选择该调试选项启动,确保VSCode已以管理员运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:07:42