Windows に PowerShell 7 をインストールする

PowerShell 7 では、PowerShell 5.1 Windows置き換えられません。 新しいディレクトリにインストールされ、Windows PowerShell 5.1 と並行して実行されます。 PowerShell 7 Windows 互換性機能を使用して実行できる PowerShell モジュールWindowsがいくつかあります。 その他のモジュールでは、Windows PowerShell 5.1 で実行する必要があります。 詳細については、「 PowerShell 7 モジュールの互換性」を参照してください。

インストールできる PowerShell 7 のパッケージ バージョンは複数あります。 この記事では、最新の安定版リリース パッケージのインストールに重点を置いています。 パッケージのバージョンの詳細については、 PowerShell サポート ライフサイクル に関する記事を参照してください。

インストール方法を選択する

Windowsに PowerShell をインストールするには、複数の方法があります。 各インストール方法は、異なるシナリオとワークフローをサポートするように設計されています。 目的に合わせて方法を選択してください。

  • WinGet - Windows クライアントに PowerShell をインストールする推奨される方法
  • MSI パッケージ - Windows サーバーとエンタープライズ展開シナリオに最適
  • MSIX パッケージ - PowerShell のカジュアル ユーザー向けに簡単にインストールできる方法ですが、制限があります
  • ZIP パッケージ - 複数のバージョンを サイド ロード またはインストールしたり、Windows Server Core、Windows IoT、Arm ベースのシステムにインストールしたりする最も簡単な方法
  • .NET グローバル ツール - 他のグローバル ツールをインストールして使用する.NET開発者に適しています

WinGet を使用して PowerShell をインストールする

Windows パッケージ マネージャー WinGet は、Windowsクライアント コンピューター上のアプリケーションを検出、インストール、アップグレード、削除、および構成できるコマンドライン ツールです。 このツールは、Windows パッケージ マネージャー サービスへのクライアント インターフェイスです。 winget コマンドライン ツールは、App Installer の一部として、Windows 11およびWindows Server 2025 に含まれています。 winget コマンドは、Windows コマンド シェル (cmd.exe)、Windows PowerShell (powershell.exe)、PowerShell (pwsh.exe) など、任意のコマンド シェルから実行できます。

注

システム要件とインストール手順の一覧については、winget に関するドキュメントを参照してください。 winget は、Windows Server 2022 以前のバージョンでは使用できません。 Windows Server 2025 は winget のみのために を含んでいます。

PowerShell をインストールするには、次の winget コマンドを使用します。

最新バージョンの PowerShell を検索します

winget search --id Microsoft.PowerShell --exact
Name               Id                           Version   Source
-----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.6.6.0   winget

PowerShell 7.6.0 の winget パッケージ以降では、winget は既定で MSIX パッケージをインストールします。

PowerShell 7 MSIX パッケージをインストールします。

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

PowerShell 7 MSI パッケージをインストールするには、次のコマンドを使用します。

winget install --id Microsoft.PowerShell --source winget --installer-type wix

または、 MSI パッケージを手動でダウンロードしてインストールすることもできます。

PowerShell 7.7-preview パッケージをインストールするには、次のコマンドを使用します。

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

PowerShell 7.7.0 リリース以降、使用できる MSI パッケージはありません。 WinGet は MSIX パッケージのみをインストールします。

MSI パッケージをインストールする

Windowsに PowerShell をインストールするには、次のリンクを使用して、GitHubからインストール パッケージをダウンロードします。

最新の安定版リリース:

ダウンロードしたら、インストーラ ファイルをダブルクリックし、プロンプトの指示に従います。

コマンド ライン オプションを使用して MSI パッケージをインストールする

MSI パッケージはコマンド ラインからインストールできるため、管理者はユーザーの介入なしにパッケージを展開できます。 MSI パッケージには、インストールのオプションを制御するための次のプロパティが含まれます。

  • USE_MU - このプロパティには、次の 2 つの値を指定できます。

    • 1 (既定値) - Microsoft Update、WSUS、またはConfiguration Managerを使用した更新をオプトインします
    • 0 - Microsoft Update、WSUS、またはConfiguration Managerを使用した更新を選択しないでください
  • ENABLE_MU

    • 1 (既定値) - 自動更新用の Microsoft Update の使用にオプトインします

    • 0 - Microsoft Update の使用にオプトインしません

      注

      更新プログラムの有効化は、以前のインストールまたは手動構成で設定されている可能性があります。 ENABLE_MU=0 を使用しても、既存の設定は削除されません。 また、この設定は、管理者によって制御されるグループ ポリシーの設定で無効にできます。

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL - このプロパティは、エクスプローラーのコンテキスト メニューに Open PowerShell 項目を追加するオプションWindows制御します。

  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL - このプロパティは、エクスプローラーのコンテキスト メニューに Run with PowerShell 項目を追加するオプションWindows制御します。

  • ENABLE_PSREMOTING - このプロパティでは、インストール中に PowerShell リモート処理を有効にするためのオプションを制御します。

  • REGISTER_MANIFEST - このプロパティは、Windows イベント ログ マニフェストを登録するためのオプションを制御します。

  • ADD_PATH - このプロパティは、Windows PATH 環境変数に PowerShell を追加するためのオプションを制御します。

  • DISABLE_TELEMETRY - このプロパティは、POWERSHELL_TELEMETRY_OPTOUT 環境変数を設定して PowerShell のテレメトリを無効にするオプションを制御します。

  • INSTALLFOLDER - このプロパティは、インストール ディレクトリを制御します。 既定値は、$Env:ProgramFiles\PowerShell\ です。 これは、インストーラーによってバージョン管理されたサブフォルダーが作成される場所です。 バージョン管理されたサブフォルダーの名前を変更することはできません。

    • 現在のリリースでは、バージョン管理されたサブフォルダーは 7 です
    • プレビュー リリースの場合、バージョン管理されたサブフォルダーは 7-preview です

すべてのインストール オプションを有効にして PowerShell をサイレント インストールする方法を、次の例に示します。

$msiParams = @(
    '/package'
    'PowerShell-7.6.6-win-x64.msi'
    '/quiet'
    'ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1'
    'ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1'
    'ENABLE_PSREMOTING=1'
    'REGISTER_MANIFEST=1'
    'USE_MU=1'
    'ENABLE_MU=1'
    'ADD_PATH=1'
)
msiexec.exe @msiParams

Msiexec.exe 用のコマンド ライン オプションの完全な一覧については、コマンド ライン オプションに関するページをご覧ください。

ZIP パッケージをインストールする

高度なデプロイ シナリオを可能にするために、PowerShell バイナリ ZIP アーカイブが用意されています。 現在のリリースのページから、次のいずれかの ZIP アーカイブをダウンロードします。

ファイルのダウンロード方法によっては、Unblock-File コマンドレットを使用して、ファイルのブロックを解除することが必要になる場合があります。 任意の場所にコンテンツを解凍し、そこから pwsh.exe を実行します。 MSI パッケージをインストールする場合とは異なり、ZIP アーカイブをインストールしても、前提条件は確認されません。 WSMan 経由でのリモート処理を正常に動作させるために、前提条件を満たしていることを確かめてください。

この方法を使用して、Microsoft Surface Pro X などのコンピューターに ARM ベースのバージョンの PowerShell をインストールします。最良の結果を得るには、powerShell を $Env:ProgramFiles\PowerShell\7 フォルダーにインストールします。 PowerShell 7 の追加バージョンを既存のバージョンの PowerShell 7 とサイド バイ サイドでインストールする場合は、別のフォルダーに追加バージョンをインストールします。 [スタート] メニューにショートカットを手動で追加し、PATH 環境変数に場所を追加する必要があります。

.NET グローバル ツールとしてインストールする

.NET Core SDK が既にインストールされている場合は、.NET グローバル ツールとして PowerShell をインストールできます。

dotnet tool install --global PowerShell

dotnet tool install によって、$HOME\.dotnet\tools 環境変数に $Env:PATH が追加されます。 ただし、現在実行中のシェルには更新された $Env:PATH が設定されていません。 新しいシェルからは、「pwsh」と入力すると PowerShell を起動できます。

MSIX パッケージをインストールする

PowerShell は、 Microsoft Store からインストールすることも、MSIX パッケージを手動でダウンロードしてインストールすることもできます。

Microsoft Store パッケージの利点:

  • Windowsに組み込まれた自動更新
  • Intune や Configuration Manager などの他のソフトウェア配布メカニズムと統合します
  • x64 または Arm64 プロセッサを使用して Windows システムにインストールできます

MSIX パッケージを手動でインストールするには、GitHub リリース ページから次のいずれかのパッケージをダウンロードし、ファイルをダブルクリックしてインストールします。

または、次のコマンドを使用して、コマンド ラインから MSIX パッケージをインストールすることもできます。

Add-AppxPackage -Path ".\PowerShell-7.6.6.msixbundle"

MSIX ベースのインストールの制限事項

ストア ベースのインストールは、1 人のユーザーに対してインストールされます。 すべてのユーザーにインストールするオプションはありません。 Microsoft Store パッケージは、一部のファイル システムとレジストリの場所へのアクセスを仮想化するアプリケーション サンドボックスで実行されます。 仮想化されたファイルとレジストリの場所への変更は、アプリケーション サンドボックスの外部では保持されません。

ストアベースのインストールでは、PowerShell リモート処理はサポートされていません。 アプリケーション サンドボックスは、アプリケーションのルート フォルダーに対するすべての変更をブロックします。 $PSHOME に格納されているシステムレベルの構成設定は変更できません。 これには WSMAN 構成が含まれます。 これにより、リモート セッションが PowerShell のストアベース インストールに接続できなくなります。 送信接続のユーザー レベルの構成と SSH リモート処理がサポートされています。

次のコマンドは、PowerShell の Microsoft Store インスタンスではサポートされていません。 これらのコマンドには、 $PSHOMEへの書き込みアクセス権が必要です。

  • Register-PSSessionConfiguration
  • Update-Help -Scope AllUsers
  • Enable-ExperimentalFeature -Scope AllUsers
  • Set-ExecutionPolicy -Scope LocalMachine

MSIX ベースのインストールでは、$PROFILE.AllUsersAllHostsに格納する必要があるため、$PROFILE.AllUsersCurrentHostおよび$PSHOMEすべてのユーザー プロファイル スクリプトを作成または変更することはできません。 現在のユーザー プロファイルは引き続きサポートされています。

PowerShell パッケージは、ファイルとレジストリの仮想化から除外されます。 仮想化されたファイルとレジストリの場所への変更は、アプリケーション サンドボックスの外部で保持されます。 ただし、アプリケーションのルート フォルダーへの変更は、引き続きブロックされます。

詳細については、「パッケージ化されたデスクトップ アプリを Windowsで実行する方法について説明します。

Important

この除外が機能するためには、ビルド 1903 以降Windows実行している必要があります。

PowerShell 7 を起動する

PowerShell 7 をインストールしたら、 pwsh コマンドを実行して起動するか、[スタート] メニューから開くことができます。 インストーラーは、Windowsスタート メニューにショートカット エントリを作成します。

既定では、インストーラーによってパッケージが $Env:ProgramFiles\PowerShell\7にインストールされます。 PowerShell 7 のプレビュー リリースは、 $Env:ProgramFiles\PowerShell\7-previewにインストールされます。 インストールされている場所が $Env:PATH 環境変数に追加されます。

注

PowerShell 7 の他のバージョンと並べて PowerShell 7.5 を実行するには、 ZIP インストール 方法を使用して、他のバージョンを別のフォルダーにインストールします。 ZIP メソッドを使用してインストールする場合は、スタート メニューにショートカットを手動で追加し、PATH 環境変数に場所を追加する必要があります。

次のスクリーンショットは、[スタート] メニューの PowerShell の複数のバージョンを示しています。 PowerShell 7 というラベルの付いた項目を選択します。

[スタート] メニューの PowerShell。

選択したエントリは PowerShell 7 用です。 PowerShell 7 のプレビュー バージョンでは、安定したバージョンとサイド バイ サイドでインストールされます。 PowerShell 7-preview というラベルの付いた項目を選択して、プレビュー バージョンを開始します。

表示される最初のエントリと最後のエントリは、Windows PowerShell 5.1 用であり、Windowsに既定でインストールされます。 Windows PowerShell ISE を選択すると、Windows PowerShell 統合スクリプト環境 (ISE) が起動します。これは、Windows PowerShell 5.1 でのみ動作する別のアプリケーションです。

PowerShell 7 のアップグレード

PowerShell 7 では、Microsoft Update による更新プログラムがサポートされています。 この機能を有効にすると、従来の Microsoft Update (MU) 管理フローで最新の PowerShell 7 更新プログラムが取得されます。これは、Windows Update for Business、WSUS、Microsoft Endpoint Configuration Manager、または Settings の対話型 MU ダイアログの場合です。 詳細については、PowerShell の Microsoft Update の FAQ に関する記事を参照してください。

最新バージョンの PowerShell 7 にアップグレードしてから Microsoft Update から入手できるようにする場合は、PowerShell を初めてインストールしたときに使用したのと同じインストール方法を使用する必要があります。 新しいバージョンの PowerShell 7 は、PowerShell 7 の既存の以前のバージョンに置き換わります。 PowerShell のプレビュー バージョンは、プレビュー以外のバージョンの PowerShell と並べてインストールできます。 新しいプレビュー バージョンでは、既存の以前のプレビュー バージョンが置き換えられます。

PowerShell がどのようにインストールされたかが分からない場合は、現在のセッションが実行している PowerShell を含むディレクトリを常に指す $PSHOME 変数の値を確認できます。

  • 値が $HOME\.dotnet\tools の場合、PowerShell は .NET グローバル ツールと共にインストールされました。
  • 値が $Env:ProgramFiles\PowerShell\7の場合、PowerShell は MSI パッケージを使用してインストールされている可能性があります。 これを確認するには、[ プログラムと機能 ] コントロール パネルで PowerShell を探します。
  • 値が $Env:ProgramFiles\WindowsApps\ で始まる場合は、 MSIX パッケージを使用して PowerShell がインストールされました。
  • 値がそれ以外の場合は、PowerShell は ZIP パッケージとしてインストールされている可能性があります。

PowerShell を WinGet でアップグレードできるかどうかを確認するには、次のコマンドを実行します。

winget list --id Microsoft.PowerShell --upgrade-available

利用可能なアップグレードがある場合、出力には利用可能な最新バージョンが表示されます。 WinGet を使用して PowerShell をアップグレードするには、次のコマンドを使用します。

winget upgrade --id Microsoft.PowerShell

新しいバージョンで使用できる場合、WinGet は、PowerShell の現在のバージョンのインストールに使用されたのと同じパッケージ形式 (MSI または MSIX) を使用します。 または、必要なパッケージを手動でダウンロードしてインストールすることもできます。

PowerShell 7 のアンインストール

PowerShell 7 をアンインストールするプロセスは、使用したインストール方法によって異なります。

  • WinGet を使用して PowerShell をインストールした場合は、次のコマンドを実行します。

    winget uninstall --id Microsoft.PowerShell
    
  • MSI パッケージを使用して PowerShell をインストールした場合は、Programs and Features コントロール パネル からアンインストールできます。

  • ZIP パッケージを使用して PowerShell をインストールした場合は、ファイルを解凍したフォルダーを削除します。

  • Microsoft Store から PowerShell をインストールした場合は、[ スタート ] メニューを開き、 PowerShell 7を検索します。 オプションのメニューから[ アンインストール ]を選択します。

  • .NET グローバル ツールとして PowerShell をインストールした場合は、次のコマンドを実行します。

    dotnet tool uninstall --global PowerShell
    

サポートされているバージョンのWindows

Microsoft は、PowerShell がサポート終了または Windows のバージョンがサポート終了になるまで powerShell をサポート。

.NET SDK の Docker イメージには、最新バージョンの PowerShell が含まれています。 これらのイメージは、 Microsoft Artifact Registry から入手できます。 これらのイメージには、最新のセキュリティ更新プログラムがない可能性があります。 Microsoft では、最新のセキュリティ更新プログラムが確実に適用されるように、OS パッケージを最新バージョンに更新することを推奨しています。 これらのイメージは、テスト目的で提供されます。 運用ワークロードに Docker イメージが必要な場合は、独自のイメージをビルドして維持する必要があります。

注

特定のバージョンのWindowsのサポートは、Microsoft サポート ライフサイクル ポリシーによって決まります。 詳細については、以下を参照してください。

winver.exe を実行することで、使用しているバージョンを確認できます。

サポートされているインストール方法

Microsoft は、このドキュメントでインストール方法をサポートしています。 他のソースでは、サードパーティから提供されているインストール方法が利用できる可能性があります。 そのようなツールと方法は機能するかもしれませんが、Microsoft ではそれらの方法をサポートできません。

注

この記事のインストール コマンドは、PowerShell の最新の安定したリリース用です。 別のバージョンの PowerShell をインストールするには、必要なバージョンに合わせてコマンドを調整します。 GitHub の [リリース タグ] ページ を開きます。 インストールするリリース バージョンのタグを選択します。 すべてのパッケージのダウンロード リンクは、リリースの [アセット ] セクションにあります。 [Assets] セクションは折りたたまれている場合があります。その場合は、クリックして展開する必要があります。