原始出版日期: 2026年6月18日
KB ID:5105752
症狀
JScript 的全域定義與執行上下文,若是從多個腳本載入或透過多重填充提供,可能在每個腳本執行結束後無法持續存在。 因此,一些在早期版本 Windows 上運作的腳本可能會在 Windows 11、24H2 及以後版本中失敗。
原因
jscript9legacy.dll 是一個動態連結函式庫 (DLL) 檔案,用於 Windows 作業系統,特別是用於執行 JScript 程式碼。 此 DLL 是較新的版本,取代舊有 jscript9.dll 以解決各種漏洞並提升安全性,從 Windows 11 24H2 版本開始。
舊 jscript9.dll 會自動保留全域定義與上下文,因此從多個腳本載入的函式仍可存取。 在 jscript9legacy.dll中,執行上下文預設不會持續存在。 一個腳本中定義的函式在執行後會被丟棄,且無法被腳本的其他部分存取。
解決方式
此問題在 2026 年 2 月 24 日及之後發布的 Windows 更新中已解決, (KB5077241) 。 不過,解決這個問題的功能預設是被停用的。 要啟用持久的 JScript 執行上下文,請依照以下步驟操作。
重要: 本文包括如何修改登錄的相關資訊。 請務必先備份登錄,再進行修改。 請確定在發生問題時您知道如何還原登錄。 如需有關如何備份、還原和修改登錄的詳細資訊,請參閱如何在 Windows 中備份及還原登錄。
-
執行以下指令來建立功能控制登錄鍵:
reg 新增「HKLM\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ENABLE_PERSISTENCE」
-
在此鍵下,建立一個新的 DWORD, (32 位元的) 值。
-
設定值如下:
-
僅為特定程序啟用持久性: 將每個目標流程名稱的值設為 1。
-
為所有程序啟用持久性: 將 * 加為鍵名,並將其值設為 1。
-