PowerShell 7

プログラミング
公開 2025年9月11日 最終更新 2025年9月27日
Article Image

はじめに

PowerShell 7 は、Microsoft が開発したクロスプラットフォーム対応のシェル兼スクリプト言語です。従来の Windows PowerShell(5.1)とは異なり、.NET Core(現在 1 は .NET 8/9)をベースにしており、Windows、Linux、macOS で動作します。

PowerShell 7 は 5.1 と比較して多くの改善点があります。

  • クロスプラットフォーム対応
    Windows 以外の OS でも動作
  • パフォーマンスの向上
    大量データ処理の高速化 2
  • 新しい言語機能
    • ForEach-Object -Parallel による並列処理に対応
    • 三項演算子: $condition ? $true : $false の構文をサポート
    • Null 条件演算子: ?.、Null 合体演算子: ?? 演算子の追加

C# でよく使う三項演算子や Null 条件演算子に対応したので、 よりコンパクトなスクリプトを書きやすくなっています。
.NET 8 にも対応していますので、遅ればせながら私の端末にもインストールしてみることにしました。

PowerShell 7 のインストール

PowerShell 7 のインストールには winget 3 を使用します。

winget install --id Microsoft.PowerShell --source winget

インストールは以上で完了です。
PowerShell を起動して、バージョンを確認してみましょう。

PS C:\hoge> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      26100  6584

あれ?おかしいですね(;^_^A
実は PowerShell 7 は Windows PowerShell 5.1 とは別アプリケーションとしてインストールされます。つまり、インストールしても元から入っていた PowerShell(powershell.exe)は 5.1 のままで変わりません。 PowerShell 7 は pwsh.exe という名前でインストールされ、通常は以下のパスに配置されます:

C:\Program Files\PowerShell\7\pwsh.exe

PowerShell 5.1 と 7.x のインストールパスの違いは以下になります。

バージョン 実行ファイル名 既定の場所
PowerShell 5.1 powershell.exe C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
PowerShell 7.x pwsh.exe C:\Program Files\PowerShell\7\pwsh.exe

以降では、PowerShell 7 を実行する方法について説明していきます。

PowerShell 7 を起動する方法

PowerShell 7 を直接起動する

  • スタートメニューで「PowerShell 7」または「pwsh」と検索して実行
  • Win + Rpwsh と入力して実行
  • コマンドプロンプト、PowerShell のプロンプトで pwsh と入力して実行

ターミナル(Windows Terminal)の設定を変更する

ターミナルの 既定のプロファイル を変更することで、ターミナル起動時に自動的に PowerShell 7 を起動するように設定できます。

1ターミナルを起動し、ウィンドウ上部の > 設定(図1)

図1 ターミナル図1 ターミナル

2既定のプロファイル(図2) > PowerShell を選択(図3)

図2 スタートアップ図2 スタートアップ 図3 既定のプロファイルの選択図3 既定のプロファイルの選択

Windows PowerShell は PowerShell 5.1、PowerShell が PowerShell 7 になります。

3保存 ボタンを押して設定を保存します(図4)。

図4 設定の保存図4 設定の保存

これでターミナルの次回起動から PowerShell 7 が起動されるようになります。

Visual Studio Code で実行する PowerShell を 7 にする

Visual Studio Code のターミナルで実行する PowerShell を PowerShell 7 に変更するには以下の手順を行います。

  1. PowerShell 拡張機能(@microsoft.com)をインストール
  2. Ctrl + Shift + P > Preferences: Open User Settings (JSON) でユーザー設定ファイルを開く
  3. 設定ファイルの末尾に以下を追記して保存
    "terminal.integrated.profiles.windows": {
        "PowerShell 7": {
            "path": "C:\\Program Files\\PowerShell\\7\\pwsh.exe"
        }
    },
    "terminal.integrated.defaultProfile.windows": "PowerShell 7"
  1. ターミナルを起動して確認
    ターミナルの起動時に右上に pwsh と表示されれば、変更は適用されています。
    念のために $PSVersionTable.PSVersion でバージョンを確認してみましょう。 図5図5

Visual Studio Code 向けの設定は以上です。

Visual Studio 2022 で実行する PowerShell を 7 にする

Visual Studio 2022 で実行する PowerShell のバージョンを 7 にするにはオプションから設定を変更します。
ツール > オプション > 環境 > ターミナル > 開発者用 PowerShell
「シェルの場所」を

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

から

C:\Program Files\PowerShell\7\pwsh.exe

に変更します(図6)。

図6 オプション図6 オプション

Linux(WSL)で PowerShell 7 を使用する

PowerShell 7 はクロスプラットフォームに対応しています。
WSL(Ubuntu Linux)環境で PowerShell 7 を動かしてみましょう。

インストール

1前準備

前準備として WSL(Ubuntu)のバージョンを確認しておきます。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

私の Ubuntu は 22.04 でした。

2Microsoft のリポジトリを追加
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

ubuntu/22.04 の箇所は OS / バージョンに合わせて変更してください。

3PowerShell 7 をインストール
sudo apt-get install -y powershell

PowerShell 7 の実行

Windows 版と同じく実行形式ファイルの名前は pwsh です。

pwsh
$ pwsh
PowerShell 7.5.3
PS /mnt/c/hoge>

PowerShell が起動しました。 起動時にバージョン番号は表示されていますが、改めてコマンドレットでバージョンを確認してみましょう。

PS /mnt/c/hoge> $PSVersionTable.PSVersion

Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
7      5      3

表示されました。
Windows 版と同様にコマンドレットの自動補完も動作します。

まとめ

PowerShell 7 の紹介から、インストール方法、Windows のターミナルや Visual Studio Code の PowerShell を 7 に変更する手順などを紹介してきました。Linux でも使用できますので、シェルスクリプトは PowerShell で統一、というのも一つの選択肢になりそうです。

参考資料

PowerShell とは - PowerShell | Microsoft Learn