1

Windows10Proを使用しています。
PowerShell7.3.3をインストールしました。
ストアが利用できない環境なので、GitHubからインストーラーを取得しています。

PowerShell7.3.3インストール後の状態です。
Windows Terminalで作業しています。

> $PSVersionTable

Name Value


PSVersion 7.3.3 PSEdition Core GitCommitId 7.3.3 OS Microsoft Windows 10.0.19044 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0

以下の内容でスクリプトファイルを作成し実行しました。

Write-Host $PSVersionTable.PSVersion
> powershell .\version.ps1
5.1.19041.2364

Versionが、「5.1.x」とあり、「7.3.x」で実行されていないことに気がつきました。

実行時にVersionを指定したらエラーになりました。

> powershell -v 7 .\version.ps1      
Windows PowerShell バージョン 7 はインストールされていないため、起動できません。

Windows Terminalではなく、Windowsメニュー > PowerShell > PowerShell 7 (x64) でも同じ事象です。

Windowsメニュー > Windows PowerShell > Windows PowerShell で実行したら、Ver.5.1.xが表示されました。

スクリプトファイルを実行する場合でも、Versionが7.3.xになるようにするにはどのようにすると良いでしょうか。
確認すべき箇所あればご指摘いただけますようお願いします。

nirgnehol
  • 137
  • 1
  • 12

1 Answers1

1

PowerShell 7 での実行ファイル名は pwsh.exe に変更されています。

Windows PowerShell 5.1 から PowerShell 7 への移行 | Microsoft Learn

個別のインストール パスと実行可能ファイル名

Windows PowerShell では、PowerShell の実行可能ファイルには powershell.exe という名前が付けられます。 バージョン 6 以降では、実行可能ファイルには pwsh.exe という名前が付けられます。

Windows Terminal のプロファイルでも、pwsh.exe を呼び出すようにしておく必要があります。

画像の説明をここに入力

自分は試していませんが、スクリプト (*.ps1) の関連付けも変更したい場合には、以下の記事でレジストリの設定を変更する例が紹介されています。

参考:
PowershellをPwsh(Powershell 7)に置き換える - Qiita

cubick
  • 20,987
  • 5
  • 25
  • 64
  • ありがとうございます。Windows Terminalの設定は出来ていました。レジストリの実行もしてみましたが変わりませんでした。 – nirgnehol Mar 14 '23 at 08:15
  • version.ps1のみで実行したら7.3.xの結果が得られました。ただ開発者全員にレジストリ変更の依頼をするのは避けたいなと思います。他にてだてがないものか... – nirgnehol Mar 14 '23 at 08:18
  • starter.ps1みたいなスクリプトを書いて、本来実行したいスクリプトをpwsh.exe で起動させて見るのはどうでしょう。 – atsushi Mar 15 '23 at 18:49