PowerShell 无法加载文件,因为在此系统上禁止运行脚本:解决方法

错误提示

无法加载文件 D:\test.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
    + CategoryInfo          : SecurityError: (:) [],ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnauthorizedAccess

解决方法

1、查看策略

PS C:\Users\Administrator> Get-ExecutionPolicy

# 默认
Restricted

2、设置

PS C:\Users\Administrator> Set-ExecutionPolicy RemoteSigned 

3、输入 "Y" 确认

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”): Y

4、再次查看

PS C:\Users\Administrator> Get-ExecutionPolicy

# 输出
RemoteSigned

策略说明:

  • Default:默认执行策略,Window客户端为Restricted;Windows服务器为RemoteSigned 。
  • Restricted:允许单个命令,但不允许脚本,它会阻止运行所有脚本文件。
  • RemoteSigned:本地计算机上的本地脚本,不需要数字签名直接允许;从Internet或其他计算机下载的脚本,需要脚本必须经过数字签名才能运行。
  • AllSigned:要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本;从尚未分类为受信任或不受信任的发布者运行脚本之前,需要确认是否执行。
  • Bypass:脚本执行没有任何限制。
  • Undefined:当前范围没有执行策略。简单来说如果所有范围的执行策略都是Undefined的话,实际使用的测试和Default策略保持一致。
  • Unrestricted:脚本运行不受签名限制,如果脚本不来自本地 Intranet 区域的脚本和配置文件,运行之前会有警告。
### 解决 VSCode 在 Windows 上因禁止运行脚本导致无法加载文件的问题 #### 修改 PowerShell 执行策略 要解决此问题,需调整 Windows PowerShell 的执行策略。默认情况下,PowerShell 设置为 `Restricted` 策略,这阻止了所有脚本运行[^4]。 可以尝试更改为 `RemoteSigned` 或者 `Bypass` 策略来解决问题: - **RemoteSigned**: 此模式下仅允许本地创建的脚本无签名运行;对于来自互联网或其他计算机上的脚本,则需要数字签名才能执行。 - **Bypass**: 不会提示并允许所有脚本运行,适合开发环境但存在安全隐患。 修改命令如下所示: ```powershell Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ``` 或者如果希望更加宽松(注意安全风险),可以选择 Bypass 方式: ```powershell Set-ExecutionPolicy Bypass -Scope CurrentUser ``` 上述操作建议通过管理员权限下的 PowerShell 来完成以确保更改生效[^2]。 #### 验证执行策略变更效果 为了验证新的执行策略是否已经成功应用,在 PowerShell 中输入以下命令查看当前配置: ```powershell Get-ExecutionPolicy -List ``` 确认输出结果显示所期望的新策略被正确设置了之后再返回到 VSCode 尝试重新执行之前失败过的指令[^3]。 #### 处理特定项目中的虚拟环境激活问题 针对类似 `.venv\Scripts\activate` 这样的 Python 虚拟环境中遇到的情况,除了全局调整外还可以考虑在项目的根目录内添加一个名为 `pyvenv.cfg` 文件,并加入下面的内容指定使用不同的 shell 启动方式绕过该限制[^5]: ```ini home = path/to/python/installation include-system-site-packages = false version = 3.x.y prompt = shell = cmd.exe ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值