注意
- 原始發佈日期: 2025 年 8 月 11 日
- KB 識別碼: 5065506
摘要
Windows PowerShell 2.0 是首次隨 Windows 7 引進的舊版元件,即將在未來版本中從 Windows 作業系統 (作業系統) 中移除。 PowerShell 2.0 已於 2017 年正式淘汰,而且如 Windows PowerShell 2.0 淘汰部落格中所述,它仍可作為相容性的選用功能提供使用。
PowerShell 2.0 將於 2025 年 8 月開始,於 Windows 11 版本 24H2 和 Windows Server 2025 的 2025 年 9 月版本中移除。 Windows 11 和 Windows Server 2025 的所有更新版本將不會包含 PowerShell 2.0。 Windows 測試人員預覽組建 已反映此變更,自 2025 年 7 月起移除 PowerShell 2.0 功能。 這項移除是清理舊版程式碼、降低 PowerShell 生態系統複雜度以及改善 Windows 安全性的更廣泛努力的一部分。
對大部分的使用者和組織來說,此變更不會發生任何意外 - PowerShell 5.1 和 PowerShell 7.x 等較新版本的 PowerShell 將繼續提供使用和支援。 不過,如果您有明確依存於 PowerShell 2.0 的舊版指令碼或軟體,您必須採取行動並更新它們,或使用因應措施來防止任何中斷。
本文提供變更的時間表、對不同使用者群組的影響,以及如何緩解任何問題的指導方針。
緩和措施指引
如果您的環境中確實有 PowerShell 2.0 的相依性,以下是您可以減輕問題的方法:
建議:將指令碼和工具移轉至較新的 PowerShell 版本
Microsoft 的主要指引是使用 PowerShell 2.0 更新任何項目,以使用 PowerShell 5.1 或 PowerShell 7。 PowerShell 5.1 引進許多改良功能,且回溯相容於幾乎所有的命令和模組。 PowerShell 小組部落格提供此移轉的指南。
更新或取代過期的軟體
在某些情況下,「修正」可能是升級需要 PowerShell 2.0 的軟體。 例如,如果舊的安裝程式失敗,請尋找該產品的較新版本。
- 許多曾經使用 PowerShell 2.0 (Exchange、SharePoint、SQL 等的 Microsoft 伺服器產品) 都有使用新式 PowerShell 的較新版本。 如果您打算在新版本的 Windows 上執行這些更新的版本,請使用這些更新的版本。
- 如果是協力廠商工具,請查看廠商的網站以取得移除 PowerShell 2.0 需求的更新或較新版本。 鑑於這種棄用已經為人所知多年,一些供應商可能已經解決了這個問題。
暫時緩和措施
備註 這是解除封鎖使用者的暫時緩和措施。 您應儘快從 PowerShell 2.0 移轉,並使用上面列出的其他緩和措施。如果上述方法無效,您可以使用下列步驟重新安裝 PowerShell 2.0,作為暫時緩解措施的最後手段:
下載 ps2DLC.zip 檔案。
將 ps2DLC.zip 檔案解壓縮到您選擇的資料夾中。
以系統管理模式啟動 PowerShell 視窗。
變更至含有解壓縮 PowerShell 2.0 檔案的資料夾。
執行下列命令:
注意
run .\loadGAC.ps1
常見問題集
什麼是 PowerShell 2.0?
這是 Microsoft 不再支援的舊版 PowerShell。
為什麼要從 Windows 移除 PowerShell 2.0?
PowerShell 2.0 於 2017 年正式淘汰,現已被移除以鼓勵使用更新、更安全的 PowerShell 版本。
哪些 Windows 版本受到影響?
PowerShell 2.0 將從 Windows 11 版本 24H2 和 Windows Server 2025 開始移除。
何時會進行移除?
PowerShell 2.0 將於 2025 年 8 月開始,於 Windows 11 版本 24H2 和 Windows Server 2025 的 2025 年 9 月版本中移除。 Windows 11 和 Windows Server 2025 的所有更新版本將不會包含 PowerShell 2.0。 Windows 測試人員預覽組建 已經反映此變更,PowerShell 2.0 功能自 2025 年 7 月起被移除,且不會包含在即將推出的測試人員版本中。
如果我有需要 PowerShell 2.0 的舊指令碼或程式,該怎麼辦?
更新指令碼或工具以在較新的 PowerShell 版本上執行,例如 PowerShell 5.1 或 PowerShell 7。
如果我有指定 2.0 版的舊版指令碼或排程任務,會發生什麼情況?
例如,如果指令碼或排程工作明確嘗試啟動 PowerShell 2.0 (例如,使用) 之類 powershell.exe -Version 2 的命令,Windows 將無法再執行該舊版引擎。 相反地,系統會啟動預設的 PowerShell 版本 (,即 PowerShell 5.1) 。 由於 PowerShell 5.1 與舊版相容,所以在大多數情況下指令碼仍會繼續運作。 不過,如果某些較舊的指令碼依存於 2.0 版特有的特定行為,則有可能無法如預期執行。 建議的解決方案是更新這些指令碼以刪除 -Version 2 需求。
是否有移除可能導致錯誤的情況?
是的,但這種情況很少見。 例如,如果指令碼或排程工作明確使用 PowerShell 2.0 (例如,使用 -version 2) ,Windows 將無法再執行該引擎。 這類指令碼預設會使用 PowerShell 5.1,在大多數情況下都是相容的。 如果一些腳本依賴 2.0 特有的怪癖,它們可能會有不同的行為。 修正是將這些指令碼更新為不要求 -Version 2。 如果您需要額外的協助,請聯絡 Microsoft 支援服務。
如果安裝程式或應用程式尋找 PowerShell 2.0,會發生什麼情況?
一些較舊的非 Windows 軟體可能會嘗試安裝或啟用 PowerShell 2.0 做為安裝程式的一部分。 在缺少 PowerShell 2.0 的新版本 Windows 上,安裝程式可能會失敗或顯示錯誤。 通常,此軟體已過時,並且不受最新 Windows 支援。 解決方法是使用不依賴於 PowerShell 2.0 的更新軟體版本。