JScript グローバル定義と実行コンテキストは、スクリプト間で保持されない可能性があります

適用先
Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows Server 2025

  • 元の発行日: 2026 年 6 月 18 日
  • KB ID: 5105752

現象

複数のスクリプトから読み込まれた、またはポリフィルを介して提供された JScript グローバル定義と実行コンテキストは、各スクリプトの実行が完了した後に保持されない場合があります。 その結果、以前のバージョンの Windows で動作していた一部のスクリプトは、バージョン 24H2 以降のWindows 11で失敗する可能性があります。

原因

jscript9legacy.dll は、特に JScript コードを実行するために Windows オペレーティング システムで使用されるダイナミック リンク ライブラリ (DLL) ファイルです。 この DLL は、Windows 11 バージョン 24H2 以降で、さまざまな脆弱性に対処し、セキュリティを強化するために、古いjscript9.dllに置き換わる新しいバージョンです。

古い jscript9.dll ではグローバル定義とコンテキストが自動的に保持されるため、複数のスクリプトから読み込まれた関数にアクセスできます。 jscript9legacy.dllでは、実行コンテキストは既定では保持されません。 1 つのスクリプトで定義された関数は、実行後に破棄され、スクリプトの残りの部分からはアクセスできません。

解決策

この問題は、2026 年 2 月 24 日以降にリリースされた Windows 更新プログラム (KB5077241) で解決されます。 ただし、この問題を解決する機能は 既定で無効になっています。 永続的な JScript 実行コンテキストを有効にするには、次の手順に従います。

重要

この記事では、レジストリの変更方法について説明しています。 レジストリを変更する前に、必ずバックアップしてください。 問題が発生した場合にレジストリを復元する方法を確認しておいてください。 レジストリをバックアップ、復元、および変更する方法の詳細については、「Windows でレジストリをバックアップおよび復元する方法」を参照してください。

  1. 次のコマンドを実行して、機能コントロール レジストリ キーを作成します。
    reg add "HKLM\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ENABLE_PERSISTENCE"

  2. このキーの下に、新しい DWORD (32 ビット) 値を作成します

  3. 次のように値を構成します。

    1. 特定のプロセスに対してのみ永続化を有効にするには:
      ターゲット プロセス名ごとに値を 1 に設定します。
    2. すべてのプロセスに対して永続化を有効にするには:
      キー名として * を追加し、その値を 1 に設定します。

機能コントロール レジストリ キーを作成する手順を示すスクリーンショット