将 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"
从命令提示符处运行以下命令,等待下载完成,它将提示安装向导按照说明进行安装。
相关文章
在 PowerShell 中安装 NuGet 包
发布时间:2024/03/01 浏览次数:161 分类:编程语言
-
本文将了解发生错误的原因以及安装适用于 PowerShell 的 NuGet 提供程序的分步指南。
在 PowerShell 中 Ping 主机名列表和输出结果到 CSV
发布时间:2024/03/01 浏览次数:53 分类:编程语言
-
本教程将教你 ping 主机名列表并将结果输出到 PowerShell 中的 CSV。
以管理员身份运行 PowerShell 脚本
发布时间:2024/03/01 浏览次数:87 分类:编程语言
-
本文将展示如何在不输入管理员凭据的情况下以管理员权限运行 powershell 脚本。如果代码片段未在提升的 Windows PowerShell 中运行,则以下脚本将自行提升你的脚本。
使用 Windows PowerShell 启动进程
发布时间:2024/03/01 浏览次数:58 分类:编程语言
-
本文将解释 Start-Process cmdlet 是什么以及参数如何与 cmdlet 一起使用。本文还展示了使用 Start-Process cmdlet 的好处
使用 PowerShell 远程处理执行命令
发布时间:2024/03/01 浏览次数:144 分类:编程语言
-
本文将讨论 PowerShell 远程处理的工作原理、几个 PowerShell 远程处理命令,以及我们如何将其投入实际使用。我们还将区分它与许多类似 cmdlet 的优势。
使用 PowerShell 将输出导出到文件
发布时间:2024/03/01 浏览次数:82 分类:编程语言
-
本文将讨论如何将输出数据导出到文件、将数据添加到现有文件以及使用 PowerShell 操作输出。
使用 PowerShell 将 CSV 导出到 Excel
发布时间:2024/03/01 浏览次数:109 分类:编程语言
-
本教程将教你使用 PowerShell 将 CSV 文件导出到 Excel 文件。