本文最后更新于40 天前,其中的信息可能已经过时,如有错误请发送邮件到zhangweihao22@outlook.com
前言
今天回到实验室打开 vscode 准备完成数据结构的静态哈夫曼编码的作业
可一打开 powershell (现在习惯用终端执行命令了)就弹出鲜红的报错,并随即弹出issue、退出终端
于是开始了莫名奇妙的修改配置的旅程
问题描述
不能打开终端
出现报错:
“C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe '--OutputEncoding', 'utf8'”已终止,退出代码: 1。
解决方案
更换 powshell 脚本运行策略。在 powershell 终端中用管理员权限使用下列命令:
# 以管理员身份运行此脚本,或逐行复制执行
# 显示当前策略(供参考)
Write-Host "当前执行策略:" -ForegroundColor Cyan
Get-ExecutionPolicy -List
# 设置当前用户的执行策略为 RemoteSigned(推荐)
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned -Force
# 确保配置文件存在
if (!(Test-Path -Path $PROFILE)) {
New-Item -Type File -Path $PROFILE -Force | Out-Null
Write-Host "已创建配置文件:" $PROFILE -ForegroundColor Green
} else {
Write-Host "配置文件已存在:" $PROFILE -ForegroundColor Yellow
}
# 显示完成提示
Write-Host "✅ 执行策略已设置为 RemoteSigned,PowerShell 启动脚本将正常加载。" -ForegroundColor Green
然后重新打开终端 -> 报错小时
OVER
报错原因
- 脚本执行策略改变(后面进过排除发现,应该是这个原因)
- 脚本中包含不合规内容
我首先是打开脚本配置文件,看是否有报错对应的文段
- $PROFILE(获取脚本文件的绝对路径)
- 打开脚本文件
- 观察是否有错误语句(直接喂给AI)
- 无错误语句
那么问题就是执行策略出现问题,修改执行策略
- 管理员身份执行 powershell
- 输入上面的指令更改配置
- OVER
为什么执行策略发生改变,经过可能是下面的原因:
系统策略被更改(更新或安全软件)
- Windows 更新可能重置了执行策略,恢复为更严格的
Restricted
。 - 安装了新的杀毒软件、组策略变更或安全补丁,可能会自动修改执行策略,出于安全考虑禁用脚本。
- 某些安全工具(如公司配置、校园网策略等)会强制设置为不允许运行脚本。
因为最近打比赛要走代理去使用比赛平台的机器,可能是代理更换了配置?(目前也不太清楚)