將 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