フォルダとかでターミナルを開くと
アップデートしよう!と毎回出てくる。
ちなみに今現在は・・・
> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.22621.4111
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.22621.4111
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
先のリンク先へジャンプすると・・・
Windows PowerShell 5.1 から PowerShell 7 への移行
のページが開くが、インストール方法s(msiファイルとかzipファイルとか…)の解説ページだった。
その中で一番簡単そうなのはMicrosoft Storeからのダウンロードだ。
Microsoft StoreでPowerShellを検索すると
表記されたバージョンが古いとおもったけど「4.2★」が、「人気度4.2」の意味だった。
アプリ名の下の数値は普通「人気度」なんだけど、
ツール系のアプリの場合はその前にバージョンを表記するのが普通だから・・・紛らわしい。
PowerShellのプレートにマウスをフォーカスすると、取得済み(アンスコした後なせいかな?)からインストールに変わるのでボタンを押す。
PowerShell 7.4.5
PS C:\Windows\System32> $PSVersionTable
Name Value
---- -----
PSVersion 7.4.5
PSEdition Core
GitCommitId 7.4.5
OS Microsoft Windows 10.0.22631
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
無事今の最新版になったのでこれでOK。
と思ったが、フォルダからターミナルで開くをすると古いまま。
スタートの全てのアプリからPowerShellをスタートにピン止めしクリックすれば新しいバージョンが起動できるけど、他は古いまま。
サイドバイサイド(同じOSで新旧のバージョンがどっちも使える)だけどさぁ?
新旧どうやって使い分ければいいのかな?
ちなみに
環境変数PATHを確認してみるとC:\Program Files\PowerShell\7がありここにインストしたかのように見えるが、削除して再インスコしても出てこないので、これは過去のインスーラのせいな気がする。
実際には他のアプリ同様にC:\Users\[ユーザ名]\AppData\Local\Microsoft\WindowsAppsにpwsh.exeとしてインストされている。
Microsoft Windows [Version 10.0.22631.4112]
(c) Microsoft Corporation. All rights reserved.
C:\Users\[ユーザ名]>where pwsh.exe
C:\Users\[ユーザ名]\AppData\Local\Microsoft\WindowsApps\pwsh.exe
先のページではバージョン別の居場所は
Windows PowerShell 5.1 | $env:WINDIR\System32\WindowsPowerShell\v1.0 |
PowerShell 6.x | $env:ProgramFiles\PowerShell\6 |
PowerShell 7 | $env:ProgramFiles\PowerShell\7 |
となっているが、C:\ProgramFiles\PowerShellなんてフォルダすらできてない。
C:\Windows\System32\WindowsPowerShell\v1.0にはpowershell.exeがあるのでこれが旧バージョンらしい。
Microsoft Windows [Version 10.0.22631.4112]
(c) Microsoft Corporation. All rights reserved.
C:\Users\[ユーザ名]>where powershell.exe
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
つまり、現在はEXEのファイル名で新旧バージョンを切り替えて使うのが良いのかもしれない。
と云う訳で、新版はターミナルでpwshで起動するのが一番簡単かな?
ターミナルのタイトルの「v」の設定の「新しいプロファイルを追加します」から
新バージョン用のプロファイルを作ってみた。
注意点としてはコマンドラインを指定する際に参照ボタンからpwsh.exe ファイルを探し出して開くボタンを押してしまうと
となってしまうので、見つけたpwsh.exeでパスのコピーでクリップボードに入れ、エントリーボックスに貼り付ける様にすることかな?
ついでに旧版のプロファイルの名前にバージョンを加えてみた。
最後に設定のスタートアップで新バージョンを指定した。
これで、フォルダのターミナルを開くで、すぐPowerShell新バージョンで使える。
とりあえずコレで良い???かな???????