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

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

前提条件Prerequisites

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 prior to Windows 10. これは、直接ダウンロードすることも、Windows Update 経由で入手することもできます。It is available via direct download or Windows Update. 修正プログラムが(オプション パッケージも含め)すべて適用されていて、かつサポート対象のシステムには、既にインストールされています。Fully patched (including optional packages), supported systems will already have this 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.

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

PowerShell を Windows クライアントまたは Windows Server (Windows 7 SP1、Server 2008 R2 以降が対象)にインストールするには 、Microsoft の GitHub releases ページから MSI パッケージをダウンロードしてください。To install PowerShell on a Windows client or Windows Server (works on Windows 7 SP1, Server 2008 R2, and later), download the MSI 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.

MSI ファイルは、PowerShell-<version>-win-<os-arch>.msi のようになります。The MSI file looks like this - PowerShell-<version>-win-<os-arch>.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

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

MSI パッケージは、コマンド ラインからインストールできます。MSI packages can be installed from the command line. これにより、管理者はユーザーの介入なしでパッケージを展開できます。This allows administrators to deploy packages without user interaction. PowerShell 用の MSI パッケージには、インストールのオプションを制御するための次のプロパティが含まれます。The MSI package for PowerShell 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 Core をサイレント インストールする方法を、次の例に示します。The following examples shows how to silently install PowerShell Core with all the install options enabled.

msiexec.exe /package PowerShell-<version>-win-<os-arch>.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.

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

PowerShell バイナリ ZIP アーカイブは、高度な展開シナリオ用に用意されています。PowerShell binary ZIP archives are provided to enable advanced deployment scenarios. なお、ZIP アーカイブを使用する場合、MSI パッケージのような前提条件確認は行われません。Be noted that when using the ZIP archive, you won't get the prerequisites check as in the MSI package. WSMan 経由でのリモート処理を正常に動作させるために、前提条件を満たしていることを確かめてください。For remoting over WSMan to work properly, ensure that you have met the prerequisites.

Windows IoT への展開Deploying on Windows IoT

Windows IoT には既に PowerShell Core 6 の展開に使用するための Windows PowerShell が付属しています。Windows IoT already comes with Windows PowerShell which we will use to deploy PowerShell Core 6.

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

    $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 Core 6 へのリモート処理を設定しますSetup remoting to PowerShell Core 6

    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 Core 6 エンドポイントに接続しますConnect to PowerShell Core 6 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>
    

Nano Server への展開Deploying on Nano Server

これらの手順では、Nano Server イメージ上で PowerShell のバージョンが既に実行されており、それが Nano Server Image Builder で生成されていることを前提としています。These instructions assume that a version of PowerShell is already running on the Nano Server image and that it has been generated by the Nano Server Image Builder. Nano Server は "ヘッドレス" OS です。Nano Server is a "headless" OS. コア バイナリを展開するには、2 つの方法があります。Core binaries can be deploy 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 リリース パッケージが必要であり、"管理者" PowerShell インスタンス内でコマンドを実行する必要があります。In both cases, you will need the Windows 10 x64 ZIP release package and will need to run the commands within an "Administrator" PowerShell instance.

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

  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 Core の展開Online Deployment of PowerShell Core

次の手順では、PowerShell Core を Nano Server の実行中のインスタンスに展開し、そのリモート エンドポイントを構成します。The following steps guide you through the deployment of PowerShell Core to a running instance of Nano Server and the configuration of its remote endpoint.

  • 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:\PowerShellCore_<version>"
    
  • WSMan を使用してリモート処理を行う場合、「別のインスタンスのテクニック」の、リモート エンドポイントを作成する手順に従います。If you want WSMan-based remoting, follow the instructions to create a remoting endpoint using the "another instance technique".

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

PowerShell Core は、WSMan と SSH の両方で PowerShell Remoting Protocol (PSRP) をサポートしています。PowerShell Core supports the PowerShell Remoting Protocol (PSRP) over both WSMan and SSH. 詳細については、次のドキュメントをご覧ください。For more information, see: