根據您的操作系統及其更新方式,您將在系統中擁有特定的 PowerShell 版本。

PowerShell 版本包含三個或四個由句點 (.) 分隔的數字,分別代表主要版本號、次要版本號、內部版本號和修訂版號(可選)。

Microsoft 在 PowerShell 中集成了新功能,同時改進了每個後續構建或版本的當前功能。某些版本還刪除了某些過時的 cmdlet,因此您只能使用以前版本中的那些。

因此,最好了解您擁有的 PowerShell 版本,尤其是當您要使用 PowerShell 腳本時。這樣,您將更好地了解要在代碼或腳本中包含哪些功能或 cmdlet,以及應排除哪些內容。

當前的 PowerShell 版本和版本

Microsoft 通常捆綁特定版本的PowerShell 在其安裝軟件中稱為Windows PowerShell。例如,這些是以下 Windows 版本初始啟動期間的 PowerShell 版本:

Windows 10 版本 1607、Windows 11 和 Server 2016、2019、2022 – PowerShell 5.1 Windows 10 版本 1507、1511 – PowerShell 5.0 Windows 8.1和 Server 2012 R2 – PowerShell 4.0

定期更新 Windows 將在所有這些系統上安裝必要的.NET Framework 和 Windows Management Framework,並將 Windows PowerShell 更新到最新版本 (5.1)。

但是 Microsoft繼續開發 PowerShell 並發布更多版本,即使它們沒有與 Windows 操作系統捆綁在一起。這些構建通常稱為 PowerShell Core,以區別於 Windows PowerShell。但是,您通常會看到它們是 PowerShell 6.x 或 PowerShell 7.x。

您需要單獨下載並安裝最新的 PowerShell 版本才能將它們安裝到您的系統中。 Microsoft 提供了許多方法來安裝此應用程序,但他們可能會將該程序安裝在不同的位置。因此,最好在安裝任何未來版本或構建時也繼續使用相同的方法。

如何檢查 PowerShell 版本?

您應該已經初步估計了打開程序本身時的版本。

在 Windows 10 和 11 中,運行時的 PowerShell 命令會打開 Windows Powershell(版本 5),而您需要使用 pwsh 命令打開 PowerShell Core(v6 或 v7)。在搜索欄 (Win + S) 上搜索 PowerShell 還會列出 Windows PowerShell、PowerShell 7 等。

PowerShell Core 打開後還會在頂部顯示版本號。但是您需要在 Windows PowerShell 中運行一些 cmdlet 才能了解完整版本。您還可以從相應的註冊表項中獲取此信息。

注意:PowerShell 不是區分大小寫的命令行界面。因此,您無需擔心匹配所有 cmdlet 的大小寫。

使用 $PSVersionTable Cmdlet

$PSVersionTable 是檢查當前 PowerShell 版本的最佳 cmdlet。它將以表格格式顯示所有版本信息,包括版本號。

打開 PowerShell。鍵入 $PSVersionTable 並按 Enter。在這裡,檢查 PSVersion 的值以查找 PowerShell 版本。或者,您可以直接輸入 $PSVersionTable.PSVersion 以僅獲取版本號。

使用 Get-Host 或 $Host Cmdlet

PowerShell 在其操作中使用主機的概念並允許其他應用程序自行託管使用 System.Management.Automation.PowerShell 類。

Get-Host 或 $host cmdlet 顯示當前 PowerShell 主機的信息,這是默認的 PowerShell 控制台。此信息還包括 PowerShell 版本號。

但是,請記住,如果您使用此 cmdlet 作為腳本來獲取遠程計算機上的 PowerShell 版本,則可能無法獲得準確的結果。

打開 PowerShell。輸入 Get-Host 或 $Host 並檢查 Version 旁邊的值。或者,您可以直接輸入以下 cmdlet 之一以僅顯示版本號。 (Get-Host).版本 $Host.Version

通過註冊表編輯器

您的註冊表存儲有關您的程序和功能的所有必要信息,包括版本號。因此,您可以使用註冊表編輯器檢查 PowerShell 的當前版本。

要查看 Windows PowerShell 的版本:

打開運行(Windows + R ).鍵入 regedit 並按 Enter 以打開註冊表編輯器。轉到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine 檢查 PowerShellVersion 的值。
您還可以在 PowerShell 上使用以下 cmdlet 來獲取此註冊表項的值。
(獲取-ItemProperty-Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine-Name’PowerShellVersion’).PowerShellVersion

要查看 PowerShell Core 的版本:

打開註冊表編輯器。轉到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShellCore\InstalledVersions\ 選擇 InstalledVersions 中的密鑰並檢查 SemanticVersion
如果您有多個 PowerShell Core 實例(如果您通過不同的方法安裝不同的版本,則可能會發生這種情況),您可以檢查 InstallLocation 條目以確定哪個版本指向哪個程序。

Categories: IT Info