PowerShell 7 设置为默认 shell 并完全移除旧版本
问题描述
当你希望在文件资源管理器中通过右键菜单选择 "在此处打开 PowerShell 窗口" 时,默认启动的是 PowerShell 7 而不是旧版的 Windows PowerShell。同时,你还希望完全移除系统上其他版本的 PowerShell。
解决方案
方法一:通过 Windows Terminal 设置默认 PowerShell 7
Windows Terminal 是目前推荐的 PowerShell 使用环境,提供了更好的配置灵活性。
步骤说明
打开 Windows Terminal 设置
- 点击下拉箭头并选择"设置"
- 如果看到图形界面,可能需要点击"打开 JSON 文件"按钮
配置默认配置文件
json{ "defaultProfile": "PowerShell 7 的 UUID", // 其他配置... }
查找 PowerShell 7 的 UUID
- 在 profiles.list 部分找到 PowerShell 7 的配置项
- 复制其 "guid" 值到 defaultProfile 字段
图形界面操作(推荐)
对于大多数用户,使用图形界面更简单:
- 打开 Windows Terminal
- 点击下拉箭头 → 设置
- 在"常规"选项卡中找到"默认配置文件"
- 从下拉菜单中选择 PowerShell 7(通常显示为蓝色图标)
- 保存设置并重启终端
TIP
PowerShell 7 在 Windows Terminal 中通常有独特的蓝色图标,而 Windows PowerShell 是传统的蓝色背景控制台样式。
方法二:直接修改 PowerShell 配置文件
如果你想要直接替换系统级的默认 PowerShell:
- 打开 Windows Terminal 设置
- 在左侧选择"配置文件" → "Windows PowerShell"
- 编辑"命令行"字段,指向 PowerShell 7 的可执行文件路径:
C:\Program Files\PowerShell\7\pwsh.exe
- 保存设置
方法三:通过 Microsoft Store 安装
注意
从 Microsoft Store 安装的 PowerShell 7 可能自动设置为默认选项,但仍需在 Windows Terminal 中确认配置。
- 从 Microsoft Store 安装 PowerShell
- 按照上述方法在 Windows Terminal 中设置默认配置文件
常见问题解决
重要提醒
如果按照上述步骤操作后仍不生效,请检查:
确认 Windows Terminal 执行别名未被禁用
- 前往:设置 → 应用 → 高级应用设置 → 应用执行别名
- 确保
wt.exe
的别名处于启用状态
验证 PowerShell 7 安装
- 打开命令提示符,输入
pwsh
应启动 PowerShell 7 - 在 PowerShell 7 中执行
$PSVersionTable
查看版本信息
- 打开命令提示符,输入
完全移除旧版本 PowerShell
注意事项
- Windows PowerShell 5.1 是 Windows 系统的组件,不建议完全移除
- 移除系统组件可能导致某些系统功能异常
- 推荐使用设置默认版本的方式而不是移除旧版本
虽然不建议完全移除 Windows PowerShell,但你可以通过以下方式减少其使用:
卸载独立安装的旧版本
- 通过"添加或删除程序"卸载非系统自带的 PowerShell 版本
修改文件关联(高级用户)
- 通过注册表修改 PowerShell 文件关联,但这可能影响系统稳定性
总结
设置 PowerShell 7 为默认 shell 的最佳实践是通过 Windows Terminal 进行配置,而不是尝试移除系统自带的 Windows PowerShell。这种方法既安全又灵活,允许你在需要时仍然能够访问旧版本。
推荐使用图形界面方式进行设置,这样可以避免手动编辑 JSON 配置文件可能出现的错误。安装最新版本的 Windows Terminal 和 PowerShell 7 可以提供最佳的开发体验和功能支持。