PowerShellの自動アップデートに注意
MicrosoftストアからPowerShellをインストールすると、Microsoftストアアプリが最新のPowerShellに自動的に更新してしまう。実際の開発に使う場合、途中でバージョンが上がってしまうと問題が出る可能性がある。このため筆者としては、Microsoftストアからのインストールはお勧めしない。
MSIパッケージでインストールすると、インストール時オプションの設定が可能になる。その中に自動アップデートの項目がある。
PowerShellのMSIパッケージをエクスプローラーなどから起動すると、GUIインストールプログラムが起動し、PowerShellの実行環境オプション(エクスプローラーの右クリックメニューやPath環境変数への登録)を指定できる。ここにある「Open here」は、エクスプローラーファイル表示領域のなにもないところでの右クリックに登録される項目で、該当のフォルダをカレントフォルダとしてPowerShellを起動するものだ
もう1つのオプション設定画面では、Microsoft Update(もしくはWSUSサーバー経由)で、PowerShellのアップデートをするかどうかを指定するもの。その下の項目は、Microsoft Updateの有効化で、「設定」→「Windows Update」→「詳細オプション」→「その他のMicrosoft製品の更新プログラムを受け取る」をオンにする
PowerShellの自動アップデートは、セマンティックバージョン(7.X.Y)のPowerShellに対して、Yの部分のみが変化するバージョンアップにのみ対応する。後述するが、先頭の7.Xの部分はバージョンアップとして大きな変化になるため、ソフトウェア的な互換性が問題になる可能性がある。このため、勝手にバージョンアップすることはなく、必ずユーザーがバージョンアップ内容を理解したうえで手動でする必要がある。
PowerShellのアップデートは、正確にはMicrosoft製品のアップデートをする「Microsoft Update」が実行する。現在では「設定」→「Windows Update」→「詳細オプション」→「その他のMicrosoft製品の更新プログラムを受け取る」がオンになっている場合に、Windows Updateの一部として動作する。PowerShellのアップデートを受け取るには、この設定がオンになっている必要がある。さらに、PowerShellのアップデートは、バージョンアップの配布が開始されてから2週間程度遅れて配布が開始される。
PowerShellを起動すると起動メッセージにアップデートが利用可能になったことを示す通知が表示されるが、それが出るようになってから、2週間程度の遅れがあることに注意が必要だ。この時間差を待てない場合には、GitHubなどからパッケージファイルを入手して、アップデートする。
PowerShell(pwsh.exe)は、.NETのリリースに合わせて開発される。.NETは年1回のバージョンアップがあるため、PowerShellも毎年新しい.NETで作られて新バージョンが登場する。
.NETでは、3つ先のリリースまで更新があるLTS(Long Term Support、寿命3年)とSTS(Short Term Support、寿命2年)が交互にリリースされる。このため、ある時点では3つの.NETがサービス中となる。LTSが新規に公開された時点では、前回のSTSと前回のLTSはともにサービス期間内なのだ。
PowerShellの寿命は、開発に使われた.NETバージョンの寿命と一致する。.NETのサポート期間が終了すると、これを使って作られたPowerShellのサポート期間も同様に終了する。
また、前記のように最大3つのサポート期間内の.NETが存在するということは、PowerShellも3つのバージョンが同時に存在する(プレビュー版を入れると4つ)。なお、ZIPファイルを使ってインストールすると、複数のバージョンのPowerShellを共存できる。ただし、Pathの設定やファイルの関連付けなど、WindowsやWindowsコンソールでの実行ファイル起動に関する知識が必要となる。
.NETとの関係で最大3つのバージョンが同時にサポート期間にあり、さらに複数のインストール方法があって、それぞれに差がある現状はちょっとした「混乱」といってもいいのではないか? できることなら、インストール方法は異なっても、アップデートの制御や実行環境の整備(.ps1ファイルとの関連付けやpwsh.exeへのパス設定など)は、同じになるようにしてほしいところだ。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第528回
PC
Windows 11の標準機能でメモリに問題がないかを診断する -
第527回
PC
Windowsがクラッシュする原因を究明する方法 AIを活用すると結構早い -
第526回
PC
今年6月にPCが起動しなくなる心配はないが、セキュアブートが機能しないとWindowsのセキュリティ機能は一部使えなくなる -
第525回
PC
6月以降「PCが起動不可能に?」と間違った騒がれ方をしている原因の「セキュアブート」とは? -
第524回
PC
Windows Insider Programが変化 チャンネルが3つになって整理される -
第523回
PC
AI傾倒に一息入れて、既存のWindowsの改良を宣言するMicrosoft タスクバーを画面の上下左右に移動可能に!? -
第522回
PC
Windowsでも完全キーボード操作派は注目! PowerToysのコマンドパレット -
第521回
PC
Windowsでアプリをインストールしたときに警告が表示する「Defender SmartScreen」と「Smart App Control」 -
第520回
PC
WindowsターミナルのPreview版 v1.25では「操作」設定に専用エディタが導入 -
第519回
PC
「セキュアブート」に「TPM」に「カーネルDMA保護」、Windowsのセキュリティを整理 - この連載の一覧へ












