VSCode 终端 powershell 执行策略报错未经授权如何修复?

文章导读
VSCode 终端 PowerShell 报错“未经授权”通常是因为执行策略设置为 Restricted。最推荐的修复方式是将当前用户的执行策略改为 RemoteSigned,无需管理员权限且不影响系统安全。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

VSCode 终端 PowerShell 报错“未经授权”通常是因为执行策略设置为 Restricted。最推荐的修复方式是将当前用户的执行策略改为 RemoteSigned,无需管理员权限且不影响系统安全。

先说结论:修改 PowerShell 执行策略 scope 为 CurrentUser 可解决大部分 VSCode 终端脚本拦截问题

  • 先确认:报错信息包含“无法加载文件”或“未经授权”字样
  • 先处理:在终端执行 set-ExecutionPolicy RemoteSigned -Scope CurrentUser
  • 再验证:运行 get-ExecutionPolicy 确认策略已变更

命令速用版

在 VSCode 内置终端或 PowerShell 窗口中直接运行以下命令,无需管理员身份:

set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

系统提示确认时输入 Y 或 A 回车即可。

为什么会这样

Windows PowerShell 默认安全策略禁止运行未签名脚本。

VSCode 终端 powershell 执行策略报错未经授权如何修复?

为了防止恶意脚本自动执行,Windows 客户端版本的 PowerShell 默认执行策略通常设为 Restricted,只允许交互式命令,禁止运行脚本文件。VSCode 默认使用 PowerShell 作为终端,当运行 npm、python venv 激活脚本或其他构建脚本时,会被该策略拦截并抛出 UnauthorizedAccess 错误。

分步处理

按顺序执行以下操作可修复权限报错:

  1. 打开终端:在 VSCode 中按下 Ctrl + ` 打开集成终端,确保终端类型显示为 PowerShell。
  2. 执行策略命令:输入set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser并回车。
  3. 确认变更:当屏幕提示“执行策略更改”时,输入YA并回车确认。
  4. 重启终端:关闭 VSCode 终端面板并重新打开,或重启 VSCode 确保配置生效。

怎么验证是否生效

使用查询命令检查当前策略状态,确认 CurrentUser 层级已变更。

在终端运行:

VSCode 终端 powershell 执行策略报错未经授权如何修复?
get-ExecutionPolicy -List

查看输出结果中CurrentUser对应的值是否为RemoteSigned。如果显示 RemoteSigned,则 VSCode 终端脚本执行权限已开放。如果仍显示 Restricted,说明命令未生效或被组策略覆盖。

常见坑

  • 管理员权限误区:使用-Scope LocalMachine需要管理员身份运行 VSCode,普通开发场景建议仅使用CurrentUser
  • 组策略覆盖:部分公司电脑通过组策略强制锁定执行策略,用户级修改可能无效,需联系 IT 部门。
  • 终端未刷新:修改策略后旧终端会话可能仍保留旧配置,必须新建终端窗口验证。
  • Cmd 不受影响:该策略仅针对 PowerShell,如果使用 Cmd 终端不会报此错,但功能特性不同。

常见问题

修改执行策略需要管理员权限吗?

使用 CurrentUser scope 不需要管理员权限。

仅当修改 LocalMachine 或 MachinePolicy scope 时才需要以管理员身份运行终端。

VSCode 终端 powershell 执行策略报错未经授权如何修复?

设置为 RemoteSigned 安全吗?

对开发环境而言是安全且标准的配置。

RemoteSigned 允许运行本地编写的脚本,仅要求从网络下载的脚本必须有签名,平衡了便利性与安全性。

为什么 Cmd 终端没有这个报错?

Cmd 没有执行策略机制,只有 PowerShell 有此安全限制。

如果无法修改 PowerShell 策略,可临时将 VSCode 默认终端配置文件切换为 Command Prompt。

参考来源

  • Microsoft Learn - 关于执行策略:https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.security/about/about_execution_policies
  • Microsoft Learn - Set-ExecutionPolicy:https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.security/set-executionpolicy