
Windowsのメジャーアップデートは、新機能の導入でユーザーを喜ばせることが多い一方で、Microsoftにとっては時代遅れの機能を段階的に廃止する機会となることも少なくありません。特に最近のWindows 11のアップデートでは、PowerShellの古いバージョンが廃止される予定です。
Windowsのレガシー機能の削除は賛否両論の反応を引き起こす傾向がありますが、PowerShell 2.0の廃止を嘆く人はいません。PowerShell 2.0の不在は気づかれる可能性は低く、むしろこの移行によってシステムのセキュリティが強化されます。
PowerShellのバージョンを理解する
PowerShell(PS)をご存じない方のために説明すると、PowerShell(PS)は、テキストベースのコマンドを介してコンピューターとの対話性を高めるために設計されたコマンドラインシェルです。基本的には、MS-DOSの伝統を受け継いでいるにもかかわらず、Windowsでも引き続き利用できる旧式のコマンドプロンプトと同様の役割を果たします。

コマンド プロンプトの静的な性質とは対照的に、PowerShell は包括的なスクリプト言語を備えた強力なツールであり、スクリプトの実行や入出力パイプなどの複雑な操作を容易にします。
Microsoftは2006年にPowerShell 1.0をリリースし、2009年にはWindows 7にPowerShell 2.0が組み込まれました。その後のバージョンはWindows 8および8.1でリリースされ、Windows 10には当初PowerShell 5.0が搭載されていました。現在、Windows 11ではPowerShell 5.1がデフォルトとなっています。この強力なシェルは2016年からオープンソース化され、UbuntuやmacOSなどのプラットフォームで利用できるようになりました。
PowerShell のバージョンを確認する
システムで実行されている PowerShell のバージョンを識別するには、[スタート] メニューから PowerShell を起動し、次のコマンドを入力します。
$PSVersionTable
現在のバージョンを確認するには、 PSVersionエントリを確認してください。Windows 10 および 11 をお使いの場合、手動でバージョン 7 にアップグレードしていない限り、ほとんどのユーザーはバージョン 5.1 を使用しています。最新バージョンのインストール方法については、Microsoft の手順を参照してください。ただし、PowerShell を頻繁に使用しない場合は、アップグレードは不要かもしれません。

PowerShell 2.0の削除
PowerShell のアップデートでは、新機能の導入、以前の問題の修正、パフォーマンスの向上が行われます。一部のコマンドは最新バージョンでのみ動作し、古いバージョンには新しいリリースで修正された脆弱性リスクが潜んでいる場合があります。
PowerShell 2.0は、その古さゆえに既に不安定な状況にありました。Microsoftは2017年8月に初めて廃止を発表し、すぐに削除する予定はないと示唆しました。基本的に、機能を非推奨とすることは、アクティブな開発の中止を示すと同時に、ユーザーに新しいバージョンへの移行時間を与えることを意味します。

8年が経ち、MicrosoftはWindows 11環境からこの旧バージョンの段階的な廃止を完了しました。Windows 11 24H2をご利用のユーザーを含むすべてのユーザーは、PowerShell 2.0が「Windowsの機能の有効化または無効化」メニューに表示されなくなり、将来のリリースでは復活しないことがわかります。
何年も前の古いPowerShellスクリプトに固執している開発者でない限り、この変更によるユーザーエクスペリエンスへの影響は顕著ではないはずです。オンラインで見つかるスクリプトは新しいバージョンを対象としている可能性が高い一方、PowerShell 2.0向けに設計されたスクリプトは、現在のWindows環境では正常に動作しない可能性があります。スクリプトが明示的にPowerShell 2.0を要求した場合、WindowsはデフォルトでPowerShell 5.1を使用するため、ほとんどのユーザーにとって互換性が維持されます。
ユーザーへの影響は限定的
もしこの情報が初めてであれば、PowerShell 2.0からの移行は、日常的なコンピューティングタスクにほとんど、あるいは全く影響しません。主な懸念事項は、この古いバージョンのシェルに依存しているレガシーシステムを維持している人々です。しかし、彼らには既に10年近くも適応する時間があったため、そのようなケースは非常に稀です。
Microsoft によれば:
「この削除は、レガシーコードをクリーンアップし、PowerShell エコシステムの複雑さを軽減し、Windows のセキュリティを向上させるための幅広い取り組みの一環です。」
この決定は、Windows 11 を最新化し、合理化され効率的なオペレーティング システムに近づけるための一歩となります。
セキュリティの強化
PowerShell 2.0の削除は、サイバー犯罪者が古いスクリプト環境を通じてPCを悪用する潜在的な経路を遮断する上で重要です。歴史的に、Windowsの機能パネル内のレガシーツールとプロトコルは、様々なWindows攻撃を助長してきました。したがって、PowerShell 2.0の削除は、今後こうしたリスクを軽減するものです。
サイバー攻撃者はこれまで、ユーザーを欺いてPowerShell経由で悪意のあるスクリプトを実行させる、欺瞞的なCAPTCHAを用いてシステムを悪用してきました。こうした戦術では、ユーザーがコマンドを入力することで「人間であることを証明」し、意図せず有害なソフトウェアをインストールしてしまう可能性があります。
PowerShell に興味がある方は、多数のコマンドを使用してタスクを自動化し、PC の構成と機能に対する制御を拡張できます。
コメントを残す