将 Windows PowerShell 更新到最新版本
在 Windows PowerShell 中运行脚本时,由于 PowerShell 版本过时,我们可能会遇到一些错误。要检查 Windows PowerShell 版本,我们可以在脚本环境中输入 $PSVersionTable
或运行以下语法。
Get-Host | Select-Object Version
过去我们可以从 Windows Update 获得自动更新。尽管如此,由于微软正在慢慢迁移到 PowerShell (Core) 7.0 作为其主要脚本版本,PowerShell 5.1 是最后一个发布的版本。
本文将向你展示如何使用 Windows PowerShell 按需获取更新。
更新 Windows PowerShell 5.1
目前,鉴于 Windows PowerShell 5.1 处于仅维护模式,我们不会看到新的重大进展,这与它最近的继任者 PowerShell (Core) 7 版本不同。
但是,你可以更新 PowerShellGet
模块,其中定义了导致问题的 Register-PSRepository
命令。要更新 Windows PowerShell 5.1,请运行以下命令。
Update-Module PowerShellGet
虽然你通常只运行上面的命令,但第一次从 PowerShell 库切换到最新版本时需要使用不同的方法。
- 打开提升的会话(以管理员身份运行)。
- 执行以下操作(添加
-Verbose
以获取详细信息):
Install-Module PowerShellGet -Force
-Force
启用安装,即使该名称的模块已经安装。请注意,你可能仍会看到有关下载 NuGet
包提供程序的提示。
请注意,旧的 PowerShellGet
版本将停留在不同的位置,但新版本将优先于它。
在初始切换到安装画廊的版本之后,你将能够在未来的版本中使用 Update-Module PowerShellGet
。
安装和更新 PowerShell (Core) 7
与 Windows PowerShell 5.1 不同,Windows PowerShell (Core) 7 不在 Windows 操作系统中预加载,需要手动安装。如果你运行的是 Windows 10 及更高版本的操作系统,则可以在 Microsoft Store 中获取 PowerShell (Core) 7。
或者,我们可以使用 Windows 包管理器或 winget
命令行快速发现、安装、升级、删除和配置 Windows 10 计算机上的应用程序。
Windows 包管理器或 winget
当前处于预览状态。要安装 winget
的预览版,你有两个选择:
winget
命令是开源的,这在技术上意味着你可以从 Github 克隆、构建和运行存储库。- 你还可以成为 Windows Insider 并加入 Windows Package Manager Insider 计划,方法是将你的 Microsoft 帐户发送至
winget-feedback@microsoft.com
并请求包含在预览版中。
加入 Insider 计划后,前往 Microsoft Store 并获取 App Installer 的应用程序。Windows 包管理器或 winget
将在你获得更新后可用。
现在你可以开始在 Windows 终端、Windows CLI 或 Windows PowerShell 中使用 Windows 包管理器或 winget
。命令行客户端 winget.exe
已预先配置为指向 Microsoft 社区存储库。
要在 Windows 包管理器中检查所有可用的 PowerShell 安装程序,请运行以下命令。
winget search powershell
你可以运行以下命令来安装最新的 Windows PowerShell (Core) 7 版本。
winget install powershell
你还可以使用 winget
升级你当前的 Windows PowerShell 版本。
winget upgrade powershell
或者,你可以使用下面的脚本来获取更新的 Windows PowerShell 包。
Invoke-Expression "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
从命令提示符处运行以下命令,等待下载完成,它将提示安装向导按照说明进行安装。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn