VSCode Terminal 无法加载 PowerShell 执行策略报错怎么解

文章导读
遇到 VSCode 终端启动 PowerShell 报错“无法加载文件...因为在此系统上禁止运行脚本”,通常是因为 Windows 默认执行策略限制了脚本运行,建议将当前用户的策略改为 RemoteSigned 或直接切换终端类型。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 参考来源
A A

遇到 VSCode 终端启动 PowerShell 报错“无法加载文件...因为在此系统上禁止运行脚本”,通常是因为 Windows 默认执行策略限制了脚本运行,建议将当前用户的策略改为 RemoteSigned 或直接切换终端类型。

先说结论:这是 Windows PowerShell 的安全机制拦截了脚本加载,并非 VSCode 故障,修改策略或更换 Shell 即可解决。

  • 先确认报错信息是否包含"cannot be loaded because running scripts is disabled"
  • 先处理优先使用-Scope CurrentUser参数修改策略,避免需要管理员权限
  • 再验证重启 VSCode 后终端能否正常加载配置文件

命令速用版

在 PowerShell 窗口中运行以下命令,然后重启 VSCode:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

如果不想修改策略,可以在 VSCode 设置中将默认终端改为 Command Prompt 或 Git Bash。

为什么会这样

Windows PowerShell 默认启用“执行策略”(Execution Policy),目的是防止恶意脚本意外运行。默认策略通常是Restricted,允许单个命令但禁止脚本文件加载。VSCode 的 PowerShell 集成终端启动时会尝试加载 profile 配置文件,这被视为脚本执行,因此被策略拦截。微软文档明确说明执行策略不是安全边界,而是防止误操作的机制。

VSCode Terminal 无法加载 PowerShell 执行策略报错怎么解

分步处理

方法一:修改当前用户策略(推荐)

  1. 打开任意 PowerShell 窗口(不需要管理员权限)。
  2. 输入命令:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  3. 系统提示确认时,输入YA确认。
  4. 完全关闭 VSCode 并重新打开。

方法二:切换终端类型

  1. 在 VSCode 终端面板点击右上角下拉箭头。
  2. 选择“选择默认配置文件”。
  3. 选择 Command Prompt 或 Git Bash。

怎么验证是否生效

在 VSCode 终端中输入:Get-ExecutionPolicy。如果返回RemoteSigned,说明策略已生效。同时观察终端启动时是否不再出现红色报错文字,且能正常显示路径提示符。

常见坑

  • 权限不足:如果使用-Scope LocalMachine需要管理员身份运行 PowerShell,普通用户建议只用CurrentUser
  • 组策略覆盖:公司电脑可能通过组策略强制锁定执行策略,此时修改命令会失效,需联系 IT 部门或改用 CMD。
  • 作用域混淆:修改了 CurrentUser 却以为没生效,可能是因为之前错误修改过 Process 作用域,重启终端后 Process 设置会丢失。

参考来源

  • Microsoft Learn - About Execution Policies: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies
  • Microsoft Learn - Set-ExecutionPolicy: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy