套用到
Win 10 Ent LTSB 2016 Win 10 Ent LTSC 2019 Windows 10 IoT Enterprise LTSC 2021 Windows 10, version 22H2, all editions Windows 11 Home and Pro, version 22H2 Windows 11 Enterprise Multi-Session, version 22H2 Windows 11 Enterprise and Education, version 22H2 Windows 11 IoT Enterprise, version 22H2 Windows 11 SE, version 23H2 Windows 11 Home and Pro, version 23H2 Windows 11 Enterprise and Education, version 23H2 Windows 11 Enterprise Multi-Session, version 23H2 Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows Server 2008 Premium Assurance Windows Server 2008 R2 Premium Assurance Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

原始出版日期: 2025年12月9日

KB ID:5074596

本文描述一項主要影響企業或 IT 管理環境的變更,該環境中使用 PowerShell 腳本進行自動化與網頁內容檢索。 在個人或家庭環境中使用裝置的人員通常不需要採取任何行動,因為這類情境在非 IT 管理環境下較為罕見。

變更日期

變更描述

2025年12月20日

  • 在「摘要」區塊新增了「安全警告」。

  • 為了清楚起見,我已在「摘要」區塊新增以下段落: PowerShell 的 Invoke-WebRequest 指令會向網頁伺服器發出 HTTP 或 HTTPS 請求並回傳結果。 本文記錄了一項強化變更,Windows PowerShell 5.1 在使用 Invoke-WebRequest 指令擷取網頁時,故意顯示安全確認提示,且沒有特殊參數。 此行為發生在支援的 Windows 用戶端與伺服器安裝 2025 年 12 月 9 日及之後發布的安裝 Windows 匯報後。 欲了解更多資訊,請參閱CVE-2025-54100。

  • 在「採取行動」區塊的選項1中,新增以下項目符號。

    • 對於使用無設定檔選項的腳本:如果腳本多次出現 Invoke-WebRequest 呼叫,請在腳本頂端宣告 $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true

    • 當使用 Invoke-WebRequest 搭配 -UseBasicParsing 參數時,無法使用 Internet Explorer 元件 (HTMLDocument 介面 (mshtml) ) 進行完整文件物件模型 (DOM) 解析。

  • 在選項二的「採取行動」區塊中,新增以下重點。

    • Powershell Core 7.x 版本或更新版本 (中的 Invoke-Webrequest) 不支援使用 Internet Explorer 元件進行 DOM 解析。 其預設的解析方式能安全擷取內容,無需腳本執行。

摘要

Windows PowerShell 5.1 現在在使用 Invoke-WebRequest 指令擷取網頁時,會顯示安全確認提示,且不需特殊參數。

安全警告: 腳本執行風險 Invoke-WebRequest 解析網頁內容。 網頁中的腳本程式碼可能會在解析頁面時執行。

建議操作:使用 -UseBasicParsing 開關以避免腳本程式碼執行。

是否要繼續?

此提示提醒頁面中的腳本可能會在解析過程中執行,並建議使用 -UseBasicParsing 參數以避免腳本執行。 使用者必須選擇繼續或取消操作。 此變更有助於防止惡意網路內容,因為必須在使用者同意前才能進行潛在風險的行動。

PowerShell 的 Invoke-WebRequest 指令會向網頁伺服器發出 HTTP 或 HTTPS 請求並回傳結果。 本文記錄了一項強化變更,Windows PowerShell 5.1 在使用 Invoke-WebRequest 指令擷取網頁時,故意顯示安全確認提示,且不需特殊參數。 此行為發生在支援的 Windows 用戶端與伺服器安裝 2025 年 12 月 9 日及之後發布的 Windows 匯報後。 欲了解更多資訊,請參閱CVE-2025-54100

發生了什麼改變?

  • 過去的行為

    • 完整文件物件模型 (DOM) 使用 Internet Explorer 元件 (HTMLDocument 介面 (mshtml) ) 進行解析,該介面可從下載內容執行腳本。

  • 新行為

    • 安全確認提示: 在安裝 2025 年 12 月 9 日或之後釋出的 Windows 更新後,執行 Invoke-WebRequest 指令 (PowerShell 5.1 中的 curl) ,當未使用特殊參數) 時,會觸發安全提示 (。 該提示會出現在 PowerShell 主控台,並警告腳 本執行風險。 這表示 PowerShell 會暫停警告你,若不採取預防措施,網頁腳本內容可能會在處理時在你的系統上執行。 預設情況下,如果你按 Enter (或選擇 No) ,該操作會被取消以安全起見。 PowerShell 會顯示因安全疑慮而取消的訊息,並建議使用 -UseBasicParsing 參數重新執行該指令以確保安全處理。 如果你選擇 「是」,PowerShell 會繼續用舊方法 (完整 HTML 解析) 來解析頁面,也就是說它會像以前一樣載入內容和任何嵌入腳本。 基本上,選擇 「是」表示你接受風險並允許指令繼續執行,而選擇 「否」 (預設) 會停止動作以保護你。

    • 互動式與腳本式使用: 此提示的引入主要影響互動式使用。 在互動式會議中,你會看到警告並必須回應。 對於 (非互動情境(如排程任務或 CI 管線) )的自動化腳本,此提示可能導致腳本在等待輸入時當機。 為避免這種情況,我們建議更新此類腳本,明確使用安全參數 (見下方) ,確保不需人工確認。

採取行動

大多數使用 Invoke-WebRequest 指令的 PowerShell 腳本與指令,幾乎不需修改即可繼續運作。 例如,僅下載內容或將回應內容視為文字或資料的腳本不會受到影響,也不需要更改。 

如果你的腳本受此變更影響,請採用以下其中一種方法。

您通常使用 Invoke-WebRequest 指令來擷取 (內容,例如下載檔案或閱讀靜態文字) ,且不依賴進階網站互動或 HTML DOM 解析,則無需操作。 新的預設行為更安全——嵌入網頁內容的腳本不會在未經你同意下執行——這是大多數情境的建議配置。 

互動式使用時,只需對新的安全提示符 (回應 「否」,或按 Enter 接受預設) ,並以 -UseBasicParsing 參數重新執行指令,安全取回內容。 這樣可以避免在擷取頁面中執行任何腳本程式碼。 如果你經常以互動方式擷取網頁內容,建議預設在指令中使用 -UseBasicParsing 參數,完全跳過提示,確保最大安全性。 

對於自動化腳本或排程任務,請在 Invoke-WebRequest 呼叫時更新 -UseBasicParsing 參數。 這會預先選擇安全行為,讓提示不會出現,腳本也能持續不中斷地執行。 這樣一來,你可以確保自動化在更新後能無縫運作,同時仍能享受到提升的安全性。

  • 對於使用 -NoProfile 選項執行的腳本:若腳本多次出現 Invoke-WebRequest 呼叫,請在腳本頂端宣告 $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true

  • 當使用 Invoke-WebRequest 搭配 -UseBasicParsing 參數時,無法使用 Internet Explorer 元件 (HTMLDocument 介面 (mshtml) ) 進行完整文件物件模型 (DOM) 解析。

對於處理不受信任或公開網頁內容且需處理 HTML 結構或表單的腳本或自動化,建議考慮 重構 或更新以保障長期安全。 與其依賴 PowerShell 來解析和執行可能危險的網頁腳本,不如: 

  • 例如,請使用其他的解析方法或函式庫, (將網頁內容視為純文字或 XML,使用不執行腳本的正則表達式或 XML/HTML 解析函式庫) 。

  • 現代化你的網頁互動方式,或許是使用較新的 PowerShell Core (7.x 版本或更新) ,這類軟體不依賴 Internet Explorer 引擎,避免執行腳本,或使用專門的網頁爬蟲工具來更安全地處理內容。 限制對 Internet Explorer 專屬功能的依賴,因為 Internet Explorer 已被棄用。 計畫重寫依賴這些功能的腳本部分,讓它們能在安全處理網頁內容的環境中運作。

    • PowerShell Core (7.x 或更新版本中的 Invoke-WebRequest) 不支援使用 Internet Explorer 元件進行 DOM 解析。 其預設的解析方式能安全擷取內容,無需腳本執行。

  • 重構的目標是在不暴露於安全風險的情況下,達成所需的功能,從而擁抱這項變更帶來的更安全預設。

如果你有特定需求需要使用 Invoke-WebRequest 指令的完整 HTML 解析功能, (例如與表單欄位互動或爬取結構化資料) ,且你信任網頁內容的來源,仍可視情況繼續使用舊有的解析行為。 在互動式會話中,這簡單來說就是在確認提示時選擇 「是」,讓操作繼續。 每次這麼做,你都會收到安全風險的提醒。 不使用 -UseBasicParsing 參數的做法應限於你完全信任網頁內容 (的情況,例如你控制的內部網頁應用程式或已知的安全網站) 。 

重要: 此方法不建議用於針對不受信任或公開網路內容執行的腳本,因為此舉會重新引入本更新旨在降低的靜默腳本執行風險。 此外,對於非互動式自動化,沒有內建自動同意提示的機制,因此在腳本中完全解析並不建議, (且風險) 。 這個選項請節制使用,且僅作為暫時措施。

常見問題集​​​​​​​

大多數情況下,下載檔案或將網頁內容擷取為文字的腳本仍然可行。 為了避免提示,請加入 -UseBasicParsing 參數。

 使用進階 HTML 解析 (如表單或 DOM) 的腳本可能會當機或輸出原始資料,而非結構化物件;你需要切換到基本的解析或修改腳本以不同方式處理內容。 

在 PowerShell 腳本中,務必使用 -UseBasicParsing 參數搭配 Invoke-WebRequest 指令,以確保安全且非互動式的執行。  

是的。 根據舊有解析的腳本必須更新以選擇加入或重構。

PowerShell 的變更同時適用於標準更新和熱補丁更新,導致行為改變相同。

是的。 PowerShell 7 預設已經使用安全解析。

請聯絡模組擁有者以獲取支援計畫。 遷移期間暫時使用選擇加入(opt-in)來處理可信內容。

為了準備並驗證這項變更,我們建議您: 

  • 利用 DOM 功能識別腳本。

  • 用新的預設測試自動化。

  • 限制舊有選擇權只能使用可信來源。

  • 規劃對不受信任內容進行重構。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。