一、报错截图
二、产生此类报错原因解析
安装了Anaconda,并执行了“conda init”命令后产生了这个脚本。这段代码通常出现在 PowerShell 的配置文件中,每次启动 PowerShell 时自动执行。由于系统是上禁止运行脚本,故产生报错。
三、解决办法
办法一:
既然是打开powershell后自启动【C:\Users\runla\Documents\WindowsPowerShell】目录下profile.ps1脚本失败,那么将此脚本移动到上一级目录做备份即可。这样打开终端就不会自启conda环境,也不会尝试报错了。
办法二:
根据提示,打开:
https:/go.microsoft.com/fwlink/?LinkID=135170
该网页有详细说明。
PowerShell 执行策略是一项安全功能,用于控制 PowerShell 加载配置文件和运行脚本的条件。 此功能有助于防止恶意脚本的执行。
1、查看当前会话中所有作用域(Scope)的脚本执行策略
Get-ExecutionPolicy -List
2、设置当前用户加载配置文件和运行脚本的条件的执行策略为RemoteSigned
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
3、关闭此页面,或重新打开一个终端管理员界面
成功!!!
四、介绍
1、命令格式介绍
Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>
-ExecutionPolicy ,执行策略,有如下选项(部分):
策略级别 | 描述 |
---|---|
Restricted | 不允许任何脚本运行 |
AllSigned | 所有脚本都必须经过签名才能运行 |
RemoteSigned | 本地脚本可直接运行,远程脚本需签名 |
Unrestricted | 允许所有脚本运行,但有安全警告 |
Bypass | 不阻止任何操作,且没有警告或提示 |
-Scope,执行策略范围,有如下选项(部分):
Process
- 仅对当前 PowerShell 会话有效
- 关闭会话后设置即失效
- 不需要管理员权限
CurrentUser
- 仅影响当前登录用户
- 设置会持久保存
- 不需要管理员权限
LocalMachine
- 影响计算机上的所有用户
- 需要管理员权限
- 设置会持久保存
2、命令介绍:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-ExecutionPolicy
主命令,用于更改 PowerShell 的执行策略设置
-ExecutionPolicy RemoteSigned
指定要设置的执行策略级别为 RemoteSigned
RemoteSigned 策略意味着:
本地创建的脚本可以直接运行
从互联网下载的脚本必须由受信任的发布者签名才能运行
-Scope CurrentUser
指定策略更改仅应用于当前用户
不会影响计算机上的其他用户