Skip to content

PowerShell 7 设置为默认 shell 并完全移除旧版本

问题描述

当你希望在文件资源管理器中通过右键菜单选择 "在此处打开 PowerShell 窗口" 时,默认启动的是 PowerShell 7 而不是旧版的 Windows PowerShell。同时,你还希望完全移除系统上其他版本的 PowerShell。

解决方案

方法一:通过 Windows Terminal 设置默认 PowerShell 7

Windows Terminal 是目前推荐的 PowerShell 使用环境,提供了更好的配置灵活性。

步骤说明

  1. 打开 Windows Terminal 设置

    • 点击下拉箭头并选择"设置"
    • 如果看到图形界面,可能需要点击"打开 JSON 文件"按钮
  2. 配置默认配置文件

    json
    {
      "defaultProfile": "PowerShell 7 的 UUID",
      // 其他配置...
    }
  3. 查找 PowerShell 7 的 UUID

    • 在 profiles.list 部分找到 PowerShell 7 的配置项
    • 复制其 "guid" 值到 defaultProfile 字段

图形界面操作(推荐)

对于大多数用户,使用图形界面更简单:

  1. 打开 Windows Terminal
  2. 点击下拉箭头 → 设置
  3. 在"常规"选项卡中找到"默认配置文件"
  4. 从下拉菜单中选择 PowerShell 7(通常显示为蓝色图标)
  5. 保存设置并重启终端

TIP

PowerShell 7 在 Windows Terminal 中通常有独特的蓝色图标,而 Windows PowerShell 是传统的蓝色背景控制台样式。

方法二:直接修改 PowerShell 配置文件

如果你想要直接替换系统级的默认 PowerShell:

  1. 打开 Windows Terminal 设置
  2. 在左侧选择"配置文件" → "Windows PowerShell"
  3. 编辑"命令行"字段,指向 PowerShell 7 的可执行文件路径:
    C:\Program Files\PowerShell\7\pwsh.exe
  4. 保存设置

方法三:通过 Microsoft Store 安装

注意

从 Microsoft Store 安装的 PowerShell 7 可能自动设置为默认选项,但仍需在 Windows Terminal 中确认配置。

  1. Microsoft Store 安装 PowerShell
  2. 按照上述方法在 Windows Terminal 中设置默认配置文件

常见问题解决

重要提醒

如果按照上述步骤操作后仍不生效,请检查:

  1. 确认 Windows Terminal 执行别名未被禁用

    • 前往:设置 → 应用 → 高级应用设置 → 应用执行别名
    • 确保 wt.exe 的别名处于启用状态
  2. 验证 PowerShell 7 安装

    • 打开命令提示符,输入 pwsh 应启动 PowerShell 7
    • 在 PowerShell 7 中执行 $PSVersionTable 查看版本信息

完全移除旧版本 PowerShell

注意事项

  • Windows PowerShell 5.1 是 Windows 系统的组件,不建议完全移除
  • 移除系统组件可能导致某些系统功能异常
  • 推荐使用设置默认版本的方式而不是移除旧版本

虽然不建议完全移除 Windows PowerShell,但你可以通过以下方式减少其使用:

  1. 卸载独立安装的旧版本

    • 通过"添加或删除程序"卸载非系统自带的 PowerShell 版本
  2. 修改文件关联(高级用户)

    • 通过注册表修改 PowerShell 文件关联,但这可能影响系统稳定性

总结

设置 PowerShell 7 为默认 shell 的最佳实践是通过 Windows Terminal 进行配置,而不是尝试移除系统自带的 Windows PowerShell。这种方法既安全又灵活,允许你在需要时仍然能够访问旧版本。

推荐使用图形界面方式进行设置,这样可以避免手动编辑 JSON 配置文件可能出现的错误。安装最新版本的 Windows Terminal 和 PowerShell 7 可以提供最佳的开发体验和功能支持。