VSCode无法加载PowerShell脚本_VSCode脚本执行策略设置
在VSCode中执行PowerShell脚本报错,原因为执行策略是Restricted,禁止运行脚本。解决方法:运行命令Set-ExecutionPolicyRemoteSigned-ScopeCurrentUser,将策略改为RemoteSigned,仅对当前用户生效。之后新建终端便生效。注意需确保VSCode默认终端为PowerShell,否则手动切换至
VSCode 里执行 .ps1 脚本时,突然蹦出“无法加载文件,因为在此系统上禁止运行脚本”的报错——别急着怀疑 VSCode 出了问题,这其实是 Windows PowerShell 默认策略在作祟。要解决它,必须做对三件事:明确作用域、用对命令、然后新开一个终端窗口,少一步都不行。
Get-ExecutionPolicy 返回 Restricted 就坐实了策略问题
只要错误信息里出现“无法加载文件 xxx.ps1”,并且路径是本地绝对路径(比如 C:\Users\name\AppData\Roaming\npm\yarn.ps1),那十有八九就是 PowerShell 执行策略拦住了你。验证方法很简单:
- 在 VSCode 的集成终端里直接运行
Get-ExecutionPolicy,如果返回Restricted,那就确认了 - 顺便瞄一眼终端左下角,看它显示的是
PowerShell还是Command Prompt或Git Bash——Win10/11 默认终端就是 PowerShell,但很多人压根没留意过 - 如果错误中包含
CategoryInfo : SecurityError或UnauthorizedAccess,基本可以排除 Node、Python 本身的问题,就是策略在搞鬼
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 是最稳解法
对于开发调试来说,只修改当前用户的策略就够了,既安全又快速,还不会污染系统环境:
- 一定要带上
-Scope CurrentUser——省略的话会要求管理员权限,而且影响范围会扩大到整台机器 RemoteSigned允许本地脚本无条件运行,只对从网络下载的脚本做签名校验,这是微软官方推荐的折中方案- 执行完命令后不用重启 VSCode,但必须关掉当前的终端窗口,然后按
Ctrl+Shift+`新建一个终端才会生效 - 新终端打开后,立马运行
Get-ExecutionPolicy -Scope CurrentUser,应该返回RemoteSigned
VSCode 终端默认未必是 PowerShell,Profile 必须手动选
很多人改了策略还是报错,原因很简单——VSCode 终端根本就没启动 PowerShell 进程:
- 按
Ctrl+Shift+P,输入Terminal: Select Default Profile,回车,然后明确选择PowerShell (pwsh)或PowerShell (Windows) - 如果列表是空的,说明
powershell.defaultVersion没配置对,或者 PATH 里没有包含它的目录 - 改完之后,已经打开的终端不会自动切换,必须新建一个(
Ctrl+Shift+`)才能生效 - 新终端左上角的标签应该显示
PowerShell,提示符为PS C:\
别用 Bypass 或 Unrestricted,它们看似省事实则埋雷
Bypass 和 Unrestricted 看起来是“一劳永逸”的选择,但实际风险高、兼容性差:
Bypass彻底关掉了所有检查,但在企业环境下经常被组策略强制覆盖,反而导致行为不一致Unrestricted允许任意未签名脚本运行,部分安全软件会直接拦截- VSCode 重启后,
Bypass和Unrestricted可能失效——尤其是配合某些防病毒软件时 RemoteSigned已经能覆盖 99% 的本地开发场景(yarn、npx、tsc、自写部署脚本等等)
真正容易被忽略的点其实就两个:策略修改后必须新开终端,以及 VSCode 默认终端未必是你以为的那个 shell——这两处卡住的人最多。

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















