Windows からの PowerShell 2.0 の削除

適用先
Windows 11 SE, version 24H2 Windows 11 Enterprise and Education, version 24H2 Windows 11 Enterprise Multi-Session, version 24H2 Windows 11 Home and Pro, version 24H2 Windows 11 IoT Enterprise, version 24H2 Windows Server 2025

注

  • 元の発行日: 2025 年 8 月 11 日
  • KB ID: 5065506

概要

Windows 7 で最初に導入されたレガシ コンポーネントである Windows PowerShell 2.0 は、今後のリリースで Windows オペレーティング システム (OS) から削除されます。 PowerShell 2.0 は 2017 年に正式に非推奨となりましたが、Windows PowerShell 2.0 の非推奨に関するブログで説明されているように、互換性のためのオプション機能として引き続き使用できました。

PowerShell 2.0 は、Windows 11 バージョン 24H2 では 2025 年 8 月以降、Windows Server 2025 では 2025 年 9 月リリース以降のリリースで削除されます。 Windows 11 および Windows Server 2025 の今後のすべてのリリースには、PowerShell 2.0 は含まれません。 Windows Insider Preview ビルドには この変更が既に反映されており、PowerShell 2.0 機能は 2025 年 7 月時点で削除されます。 この削除は、レガシ コードをクリーンアップし、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 を使用していた多くの Microsoft サーバー製品 (Exchange、SharePoint、SQL など) には、最新の PowerShell を使用する新しいバージョンがあります。 新しいバージョンの Windows で実行する場合は、これらの更新されたバージョンを使用します。
    • サードパーティ ツールの場合は、ベンダーの Web サイトで、PowerShell 2.0 の要件を削除する更新プログラムまたは新しいリリースがないかチェックしてください。 この非推奨は何年も前から知られていたため、一部のベンダーはこの問題に対処している可能性があります。
  • 一時的な軽減策
    ​​​​​​​

    注釈 これは、ユーザーのブロックを解除するための一時的な軽減策です。 できるだけ早く PowerShell 2.0 から移行し、上記の他の軽減策を使用する必要があります。

    最後の手段の一時的な軽減策として、次の手順を使用して PowerShell 2.0 を再インストールできます。

    1. ps2DLC.zip ファイルをダウンロードします。

    2. 任意のフォルダーに ps2DLC.zip ファイルを展開します。

    3. PowerShell ウィンドウを管理者モードで起動します。

    4. 抽出された PowerShell 2.0 ファイルを含むフォルダーに移動します。

    5. 次のコマンドを実行します。

      注

      run .\loadGAC.ps1

よく寄せられる質問

PowerShell 2.0 とは

これは、Microsoft がサポートしなくなった古いバージョンの PowerShell です。

PowerShell 2.0 が Windows から削除されるのはなぜですか?

PowerShell 2.0 は 2017 年に公式に非推奨となり、より新しい、より安全な PowerShell バージョンの使用を促進するために現在は削除されています。

影響を受ける Windows バージョンはどれですか?

PowerShell 2.0 は、Windows 11 バージョン 24H2 および Windows Server 2025 以降で削除されます。

いつ削除されますか?

PowerShell 2.0 は、Windows 11 バージョン 24H2 では 2025 年 8 月以降、Windows Server 2025 では 2025 年 9 月リリース以降のリリースで削除されます。 Windows 11 および Windows Server 2025 の今後のすべてのリリースには、PowerShell 2.0 は含まれません。 Windows Insider Preview ビルドには この変更が既に反映されており、PowerShell 2.0 機能は 2025 年 7 月の時点で削除され、今後の Insider リリースには含まれなくなります。

PowerShell 2.0 を必要とする古いスクリプトまたはプログラムがある場合はどうすればよいですか?

スクリプトまたはツールを更新して、PowerShell 5.1 や PowerShell 7 などの新しい PowerShell バージョンで実行します。

バージョン 2.0 を指定する従来のスクリプトまたはスケジュールされたタスクがある場合はどうなりますか?

スクリプトまたはスケジュールされたタスクが (たとえば、 powershell.exe -Version 2 のようなコマンドを使用して) PowerShell 2.0 を明示的に起動しようとした場合、Windows はそのレガシ エンジンを実行できなくなります。 代わりに、システムは既定の PowerShell バージョン (PowerShell 5.1) を起動します。 PowerShell 5.1 は下位互換性があるため、ほとんどの場合、スクリプトは引き続き機能します。 ただし、一部の古いスクリプトは、バージョン 2.0 に固有の特定の動作に依存している場合、期待どおりに実行されない可能性があります。 推奨される解決策は、これらのスクリプトを更新して -Version 2 要件を削除することです。

削除によってエラーが発生する可能性があるシナリオはありますか?

はい。ただし、このようなケースはまれです。 スクリプトまたはスケジュールされたタスクで PowerShell 2.0 を明示的に使用する場合 (たとえば、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 に依存しない更新されたソフトウェア バージョンを使用することです。