Windows への PowerShell のインストールInstalling PowerShell on Windows

Windows に PowerShell をインストールする方法は複数あります。There are multiple ways to install PowerShell in Windows.

前提条件Prerequisites

PowerShell の最新リリースは、Windows 7 SP1、Server 2008 R2、およびそれ以降のバージョンでサポートされています。The latest release of PowerShell is supported on Windows 7 SP1, Server 2008 R2, and later versions.

WSMan を介して PowerShell のリモート処理を有効にするには、次の前提条件を満たす必要があります。To enable PowerShell remoting over WSMan, the following prerequisites need to be met:

  • Windows 10 より前のバージョンの Windows にユニバーサル C ランタイムをインストールします。Install the Universal C Runtime on Windows versions predating Windows 10. これは、直接ダウンロードすることも、Windows Update 経由で入手することもできます。It's available via direct download or Windows Update. 完全にパッチが適用されたシステムには、既にこのパッケージがインストールされています。Fully patched systems already have this package installed.
  • Windows Management Framework (WMF) 4.0 以降を Windows 7 と Windows Server 2008 R2 にインストールします。Install the Windows Management Framework (WMF) 4.0 or newer on Windows 7 and Windows Server 2008 R2. WMF の詳細については、WMF の概要に関する記事を参照してください。For more information about WMF, see WMF Overview.

インストーラー パッケージをダウンロードするDownload the installer package

Windows に PowerShell をインストールするには、GitHub のリリース ページからインストール パッケージをダウンロードします。To install PowerShell on Windows, download the install package from our GitHub releases page. リリース ページの [Assets] セクションまで下にスクロールします。Scroll down to the Assets section of the Release page. [Assets] セクションは折りたたまれている場合があります。その場合は、クリックして展開する必要があります。The Assets section may be collapsed, so you may need to click to expand it.

MSI パッケージのインストールInstalling the MSI package

MSI ファイルは、PowerShell-<version>-win-<os-arch>.msi のようになります。The MSI file looks like PowerShell-<version>-win-<os-arch>.msi. 次に例を示します。For example:

  • PowerShell-7.0.1-win-x64.msi
  • PowerShell-7.0.1-win-x86.msi

ダウンロードしたら、インストーラーをダブルクリックし、プロンプトの指示に従います。Once downloaded, double-click the installer and follow the prompts.

インストーラーにより、Windows の [スタート] メニューにショートカットが作成されます。The installer creates a shortcut in the Windows Start Menu.

  • パッケージは、既定で $env:ProgramFiles\PowerShell\<version> にインストールされます。By default the package is installed to $env:ProgramFiles\PowerShell\<version>
  • PowerShell は、スタート メニューまたは $env:ProgramFiles\PowerShell\<version>\pwsh.exe から起動できます。You can launch PowerShell via the Start Menu or $env:ProgramFiles\PowerShell\<version>\pwsh.exe

注意

PowerShell 7 は新しいディレクトリにインストールされ、Windows PowerShell 5.1 と side-by-side 実行されます。PowerShell 7 installs to a new directory and runs side-by-side with Windows PowerShell 5.1. PowerShell Core 6.x がインストールされている場合、PowerShell 7 にインプレース アップグレードされ、PowerShell Core 6.x は削除されます。For PowerShell Core 6.x, PowerShell 7 is an in-place upgrade that removes PowerShell Core 6.x.

  • PowerShell 7 は $env:ProgramFiles\PowerShell\7 にインストールされますPowerShell 7 is installed to $env:ProgramFiles\PowerShell\7
  • $env:ProgramFiles\PowerShell\7 フォルダーは $env:PATH に追加されますThe $env:ProgramFiles\PowerShell\7 folder is added to $env:PATH
  • $env:ProgramFiles\PowerShell\6 フォルダーは削除されますThe $env:ProgramFiles\PowerShell\6 folder is deleted

PowerShell 6 を PowerShell 7 と side-by-side 実行する必要がある場合は、ZIP インストール方法を使用して PowerShell 6 を再インストールします。If you need to run PowerShell 6 side-by-side with PowerShell 7, reinstall PowerShell 6 using the ZIP install method.

コマンド ラインからの管理者インストールAdministrative install from the command line

MSI パッケージはコマンド ラインからインストールできるため、管理者はユーザーの介入なしにパッケージを展開できます。MSI packages can be installed from the command line allowing administrators to deploy packages without user interaction. MSI パッケージには、インストールのオプションを制御するための次のプロパティが含まれます。The MSI package includes the following properties to control the installation options:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL - このプロパティでは、エクスプローラーのコンテキスト メニューに [Open PowerShell](PowerShell を開く) 項目を追加するためのオプションを制御します。ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL - This property controls the option for adding the Open PowerShell item to the context menu in Windows Explorer.
  • ENABLE_PSREMOTING - このプロパティでは、インストール中に PowerShell リモート処理を有効にするためのオプションを制御します。ENABLE_PSREMOTING - This property controls the option for enabling PowerShell remoting during installation.
  • REGISTER_MANIFEST - このプロパティでは、Windows イベント ログのマニフェストを登録するためのオプションを制御します。REGISTER_MANIFEST - This property controls the option for registering the Windows Event Logging manifest.

すべてのインストール オプションを有効にして PowerShell をサイレント インストールする方法を、次の例に示します。The following example shows how to silently install PowerShell with all the install options enabled.

msiexec.exe /package PowerShell-7.0.1-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1

Msiexec.exe 用のコマンド ライン オプションの完全な一覧については、コマンド ライン オプションに関するページをご覧ください。For a full list of command-line options for Msiexec.exe, see Command line options.

MSIX パッケージのインストールInstalling the MSIX package

Windows 10 クライアントに MSIX パッケージを手動でインストールするには、Microsoft の GitHub リリース ページから MSIX パッケージをダウンロードしてください。To manually install the MSIX package on a Windows 10 client, download the MSIX package from our GitHub releases page. インストールしたいリリースの [Assets] セクションまでスクロールダウンします。Scroll down to the Assets section of the Release you want to install. [Assets] セクションは折りたたまれている場合があります。その場合は、クリックして展開する必要があります。The Assets section may be collapsed, so you may need to click to expand it.

MSIX ファイルは、PowerShell-<version>-win-<os-arch>.msix のようになります。The MSIX file looks like this - PowerShell-<version>-win-<os-arch>.msix

パッケージをインストールするには、Add-AppxPackage コマンドレットを使用する必要があります。To install the package, you must use the Add-AppxPackage cmdlet.

Add-AppxPackage PowerShell-<version>-win-<os-arch>.msix

注意

MSIX パッケージはまだリリースされていません。The MSIX package has not been released yet. パッケージがリリースされると、Microsoft Store と GitHub のリリース ページから入手できるようになります。When released, the package will be available in the Microsoft Store and from the GitHub releases page.

ZIP パッケージのインストールInstalling the ZIP package

PowerShell バイナリ ZIP アーカイブは、高度な展開シナリオ用に用意されています。PowerShell binary ZIP archives are provided to enable advanced deployment scenarios. ZIP アーカイブをインストールしても、MSI パッケージのように前提条件は確認されません。Installing the ZIP archive doesn't check the prerequisites like the MSI packages do. リリース ページから ZIP アーカイブをダウンロードします。Download the ZIP archive from the releases page. ファイルのダウンロード方法によっては、Unblock-File コマンドレットを使用して、ファイルのブロックを解除することが必要になる場合があります。Depending on how you download the file you may need to unblock the file using the Unblock-File cmdlet. 任意の場所にコンテンツを解凍し、そこから pwsh.exe を実行します。Unzip the contents to the location of your choice and run pwsh.exe from there. WSMan 経由でのリモート処理を正常に動作させるために、前提条件を満たしていることを確かめてください。For remoting over WSMan to work properly, ensure that you've met the prerequisites.

Windows 10 IoT Enterprise への展開Deploying on Windows 10 IoT Enterprise

Windows 10 IoT Enterprise には、PowerShell 7 の展開に使用できる Windows PowerShell が付属しています。Windows 10 IoT Enterprise comes with Windows PowerShell, which we can use to deploy PowerShell 7.

  1. ターゲット デバイスに対して PSSession を作成しますCreate PSSession to target device

    Set-Item -Path WSMan:\localhost\Client\TrustedHosts <deviceip>
    $S = New-PSSession -ComputerName <deviceIp> -Credential Administrator
    
  2. ZIP パッケージをデバイスにコピーしますCopy the ZIP package to the device

    # change the destination to however you had partitioned it with sufficient
    # space for the zip and the unzipped contents
    # the path should be local to the device
    Copy-Item .\PowerShell-<version>-win-<os-arch>.zip -Destination u:\users\administrator\Downloads -ToSession $s
    
  3. デバイスに接続してアーカイブを展開しますConnect to the device and expand the archive

    Enter-PSSession $s
    Set-Location u:\users\administrator\downloads
    Expand-Archive .\PowerShell-<version>-win-<os-arch>.zip
    
  4. PowerShell 7 へのリモート処理を設定しますSet up remoting to PowerShell 7

    Set-Location .\PowerShell-<version>-win-<os-arch>
    # Be sure to use the -PowerShellHome parameter otherwise it'll try to create a new
    # endpoint with Windows PowerShell 5.1
    .\Install-PowerShellRemoting.ps1 -PowerShellHome .
    # You'll get an error message and will be disconnected from the device because it has to restart WinRM
    
  5. デバイス上の PowerShell 7 エンドポイントに接続しますConnect to PowerShell 7 endpoint on device

    # Be sure to use the -Configuration parameter.  If you omit it, you will connect to Windows PowerShell 5.1
    Enter-PSSession -ComputerName <deviceIp> -Credential Administrator -Configuration powershell.<version>
    

Windows 10 IoT Core への展開Deploying on Windows 10 IoT Core

PowerShell 7 の展開に使用できる IOT_POWERSHELL 機能を取り込む場合、Windows 10 IoT Core によって Windows PowerShell が追加されます。Windows 10 IoT Core adds Windows PowerShell when you include IOT_POWERSHELL feature, which we can use to deploy PowerShell 7. 上記で Windows 10 IoT Enterprise に対して定義した手順は、IoT Core にも適用できます。The steps defined above for Windows 10 IoT Enterprise can be followed for IoT Core as well.

配布イメージに最新の powershell を追加する場合は、Import-PSCoreRelease コマンドを使用して、ワークスペースにパッケージを取り込み、さらに OPENSRC_POWERSHELL 機能をご利用のイメージに追加します。For adding the latest powershell in the shipping image, use Import-PSCoreRelease command to include the package in the workarea and add OPENSRC_POWERSHELL feature to your image.

注意

ARM64 アーキテクチャの場合、IOT_POWERSHELL を取り込むときに、Windows Powershell は追加されません。For ARM64 architecture, Windows Powershell is not added when you include IOT_POWERSHELL. そのため、zip ベースのインストールは機能しません。So the zip based install will not work. イメージに追加するには、Import-PSCoreRelease コマンドを使用する必要があります。You will need to use Import-PSCoreRelease command to add it in the image.

Nano Server への展開Deploying on Nano Server

以下の手順では、Nano Server が "ヘッドレス" OS であり、あるバージョンの PowerShell が既に実行されていることを前提としています。These instructions assume that the Nano Server is a "headless" OS that has a version of PowerShell is already running on it. 詳細については、Nano Server Image Builder のドキュメントをご覧ください。For more information, see the Nano Server Image Builder documentation.

PowerShell バイナリを展開するには、2 つの方法があります。PowerShell binaries can be deployed using two different methods.

  1. オフライン: Nano Server VHD をマウントし、zip ファイルの中身をマウント イメージ内の選択した場所に展開します。Offline - Mount the Nano Server VHD and unzip the contents of the zip file to your chosen location within the mounted image.
  2. オンライン: zip ファイルを PowerShell セッションを介して転送し、選択した場所にそれを展開します。Online - Transfer the zip file over a PowerShell Session and unzip it in your chosen location.

どちらの場合も、Windows 10 x64 の ZIP リリース パッケージが必要です。In both cases, you need the Windows 10 x64 ZIP release package. PowerShell の "管理者" インスタンス内でコマンドを実行してください。Run the commands within an "Administrator" instance of PowerShell.

PowerShell のオフラインでの展開Offline Deployment of PowerShell

  1. お好みの zip ユーティリティを使用して、マウントされた Nano Server イメージ内のディレクトリにパッケージを解凍します。Use your favorite zip utility to unzip the package to a directory within the mounted Nano Server image.
  2. イメージをマウント解除し、ブートします。Unmount the image and boot it.
  3. Windows PowerShell のインボックス インスタンスに接続します。Connect to the inbox instance of Windows PowerShell.
  4. 別のインスタンスのテクニック」の、リモート エンドポイントを作成する手順に従います。Follow the instructions to create a remoting endpoint using the "another instance technique".

PowerShell のオンラインでの展開Online Deployment of PowerShell

次の手順に従って、PowerShell を Nano Server に展開します。Deploy PowerShell to Nano Server using the following steps.

  • Windows PowerShell のインボックス インスタンスに接続するConnect to the inbox instance of Windows PowerShell

    $session = New-PSSession -ComputerName <Nano Server IP address> -Credential <An Administrator account on the system>
    
  • Nano Server のインスタンスにファイルをコピーするCopy the file to the Nano Server instance

    Copy-Item <local PS Core download location>\powershell-<version>-win-x64.zip c:\ -ToSession $session
    
  • セッションに入るEnter the session

    Enter-PSSession $session
    
  • ZIP ファイルを解凍しますExtract the ZIP file

    # Insert the appropriate version.
    Expand-Archive -Path C:\powershell-<version>-win-x64.zip -DestinationPath "C:\PowerShell_<version>"
    
  • WSMan を使用してリモート処理を行う場合、「別のインスタンスのテクニック」の、リモート エンドポイントを作成する手順に従います。If you want WSMan-based remoting, follow the instructions to create a remoting endpoint using the "another instance technique".

.NET グローバル ツールとしてインストールするInstall as a .NET Global tool

.NET Core SDK が既にインストールされている場合は、PowerShell を .NET グローバル ツールとして簡単にインストールできます。If you already have the .NET Core SDK installed, it's easy to install PowerShell as a .NET Global tool.

dotnet tool install --global PowerShell

dotnet tool install によって、$env:PATH 環境変数に $env:USERPROFILE\dotnet\tools が追加されます。The dotnet tool installer adds $env:USERPROFILE\dotnet\tools to your $env:PATH environment variable. ただし、現在実行中のシェルには更新された $env:PATH が設定されていません。However, the currently running shell doesn't have the updated $env:PATH. 新しいシェルからは、「pwsh」と入力すると PowerShell を起動できます。You can start PowerShell from a new shell by typing pwsh.

リモート エンドポイントの作成方法How to create a remoting endpoint

PowerShell では、WSMan と SSH の両方について PowerShell Remoting Protocol (PSRP) がサポートされています。PowerShell supports the PowerShell Remoting Protocol (PSRP) over both WSMan and SSH. 詳細については、次を参照してください。For more information, see: