参考:Microsoft 官方文档(PowerShell 安装指南)
WinGet 是 Windows 客户端官方推荐方式 (Microsoft Learn)


一、为什么用 winget?

简单说一句:最省事 + 最接近“自动化部署”

优点:

  • 官方推荐方式(Windows 客户端) (Microsoft Learn)

  • 一条命令安装

  • 支持升级 / 卸载

  • 适合脚本化(DevOps / 自动化环境)


二、前提条件

确认 winget 可用

winget --version

如果有版本号 → OK
如果没有:

安装 Microsoft Store 的 App Installer


建议使用管理员权限

避免权限问题(尤其是写入 Program Files)


三、安装 PowerShell(核心步骤)

1. 搜索可安装版本

winget search --id Microsoft.PowerShell

你会看到类似:

Name        Id                     Version
--------------------------------------------
PowerShell  Microsoft.PowerShell   7.x.x

2. 安装 PowerShell

winget install --id Microsoft.PowerShell --source winget

这是官方推荐命令 (Microsoft Learn)


安装后发生了什么?

  • 安装路径:

    C:\Program Files\PowerShell\7
  • 自动加入 PATH

  • 新命令:

    pwsh

3. 验证安装

pwsh

然后:

$PSVersionTable


四、升级 PowerShell

1. 查看是否有更新

winget list --id Microsoft.PowerShell --upgrade-available

会显示是否有新版本 (Microsoft Learn)


2. 执行升级

winget upgrade --id Microsoft.PowerShell
PS C:\Users\hz > winget list --id Microsoft.PowerShell --upgrade-available
名称             ID                   版本    可用    源
------------------------------------------------------------
PowerShell 7-x64 Microsoft.PowerShell 7.6.0.0 7.6.1.0 winget
1 升级可用。
PS C:\Users\hz > winget upgrade --id Microsoft.PowerShell
已找到 PowerShell [Microsoft.PowerShell] 版本 7.6.1.0
此应用程序由其所有者授权给你。
Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。
正在下载 https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/PowerShell-7.6.1-win-x64.msi
  ██████████████████████████████   109 MB /  109 MB
已成功验证安装程序哈希
正在启动程序包安装...
安装程序将请求以管理员身份运行。期待提示。
   \
PS C:\Users\hz > $PSHOME
D:\Program Files\PowerShell\7

官方推荐升级方式 (Microsoft Learn)


五、常见“坑”和解决方案(重点)

1. 升级失败 / 找不到包

可能原因:

  • 安装方式不同(例如 MSI vs winget)

  • 版本来源不一致

官方说明:

升级必须使用相同安装方式 (Microsoft Learn)


解决方案(强制重装)

winget install --id Microsoft.PowerShell --source winget --force --uninstall-previous

一步完成:

  • 卸载旧版本

  • 安装新版本


2. 为什么没有“覆盖升级”?

因为:

PowerShell 7 是独立版本(不会替换 5.1)

也就是说:

  • Windows PowerShell 5.1(系统自带)

  • PowerShell 7(你安装的)

并存关系


六、卸载 PowerShell

如果需要:

winget uninstall --id Microsoft.PowerShell

七、额外技巧(实用)

1. 安装预览版(体验新特性)

winget install --id Microsoft.PowerShell.Preview

2. 一步安装指定版本

winget install --id Microsoft.PowerShell --version 7.x.x

3. 判断当前安装来源

$PSHOME

不同路径代表:

路径

说明

ProgramFiles\PowerShell\7

winget / MSI

WindowsApps

Microsoft Store

.dotnet\tools

.NET 工具

官方推荐用这个判断来源 (Microsoft Learn)


八、总结

安装

winget install --id Microsoft.PowerShell --source winget

升级

winget upgrade --id Microsoft.PowerShell

强制升级(推荐记住)

winget install --id Microsoft.PowerShell --force --uninstall-previous

文章作者: Z
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 微博客
工具 其他 工具
喜欢就支持一下吧