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

MSIMSI

PowerShell を Windows クライアントまたは Windows Server にインストールするには (Windows 7 SP1、Server 2008 R2 以降で機能)、MSI パッケージを弊社の GitHub [releases][] ページからダウンロードします。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.

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.

インストールすると [スタート] メニューにショートカットが表示されます。There is a shortcut placed in the Start Menu upon installation.

  • パッケージは、既定で $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

前提条件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.

ZIPZIP

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. したがって、Windows 10 以前のバージョンで WSMan 経由でのリモート処理が正常に動作するには、前提条件が満たされていることを確認する必要があります。So in order for remoting over WSMan to work properly on Windows versions prior to Windows 10, you need to make sure the prerequisites are met.

Windows IoT への展開Deploying on Windows IoT

Windows IoT には既に Windows PowerShell が付属しており、PowerShell Core 6 の展開に使用します。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-6.0.2-win-arm32.zip -Destination u:\users\administrator\Downloads -ToSession $s
    
  3. デバイスに接続してアーカイブを展開しますConnect to the device and expand the archive

    Enter-PSSession $s
    cd u:\users\administrator\downloads
    Expand-Archive .\PowerShell-6.0.2-win-arm32.zip
    
  4. PowerShell Core 6 へのリモート処理を設定しますSetup remoting to PowerShell Core 6

    cd .\PowerShell-6.0.2-win-arm32
    # 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.6.0.2
    

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".

リモート エンドポイントの作成手順Instructions 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:

  • [PowerShell Core での SSH リモート処理][ssh-remoting][SSH Remoting in PowerShell Core][ssh-remoting]
  • [PowerShell Core での WSMan リモート処理][wsman-remoting][WSMan Remoting in PowerShell Core][wsman-remoting]

成果物のインストール手順Artifact Installation Instructions

アーカイブは CoreCLR ビットを使用して各 CI ビルドに [AppVeyor][] で公開します。We publish an archive with CoreCLR bits on every CI build with [AppVeyor][].

CoreCLR のアーティファクトから PowerShell Core をインストールするには:To install PowerShell Core from the CoreCLR Artifact:

  1. 特定のビルドの [アーティファクト] タブから、zip パッケージをダウンロードします。Download ZIP package from artifacts tab of the particular build.
  2. [エクスプローラー] で右クリックし、[プロパティ] をクリックし、[ブロックの解除] ボックスをオンにして ZIP ファイルのブロックを解除します。Unblock ZIP file: right-click in File Explorer -> Properties -> check 'Unblock' box -> apply
  3. zip ファイルを bin ディレクトリに抽出しますExtract zip file to bin directory
  4. ./bin/pwsh.exe

[リリース]: https://github.com/PowerShell/PowerShell/releases [ssh-remoting]: ../core-powershell/SSH-Remoting-in-PowerShell-Core.md [wsman-remoting]: ../core-powershell/WSMan-Remoting-in-PowerShell-Core.md [AppVeyor]: https://ci.appveyor.com/project/PowerShell/powershell [releases]: https://github.com/PowerShell/PowerShell/releases [ssh-remoting]: ../core-powershell/SSH-Remoting-in-PowerShell-Core.md [wsman-remoting]: ../core-powershell/WSMan-Remoting-in-PowerShell-Core.md [AppVeyor]: https://ci.appveyor.com/project/PowerShell/powershell