powershell-无法加载文件,因为在此系统中禁止执行脚本。

写了一个powershell脚本测试脚本,结果执行的时候报错

$a=Get-Content C:\script.txt | select-string -pattern "ora"

    if ( $a -eq  $null )

    {
       
        write-host "error" 
    }

    else 
   {
         write-host "OK" 
    } 

PS D:\> .\pshell.ps1
无法加载文件 D:\pshell.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。
所在位置 行:1 字符: 13
+ .\pshell.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

查明了原因是由于操作系统默认禁止执行脚本,执行一次set-executionpolicy remotesigned后脚本顺利执行

关于Set-ExecutionPolicy详细信息

    Set-ExecutionPolicy 可更改 Windows PowerShell 执行策略的用户首选项。要在 Windows Vista、Windows Server 2008 和 Windows
的更高版本上运行此命令,必须使用\"以管理员身份运行\"选项启动 Windows PowerShell,即使您是计算机上
Administrators 组的成员,执行策略是 Windows PowerShell 安全策略的一部分。它确定是否可以加载配置文件(包括 Windows PowerShell
配置文件)和运行脚本,并且确定哪些脚本(如果有)在运行之前必须进行数字签名

### 解决 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、付费专栏及课程。

余额充值