在 Windows 上安装 PowerShell CoreInstalling PowerShell Core on Windows

本文内容

MSIMSI

若要在 Windows 客户端或 Windows Server(适用于 Windows 7 SP1、Server 2008 R2 以及更高版本)上安装 PowerShell,请从 GitHub 版本页面下载 MSI 包。

MSI 文件类似于 PowerShell-<version>-win-<os-arch>.msi

下载后,双击安装程序并按照提示进行操作。

安装后会向“开始”菜单添加快捷方式。

  • 默认情况下,包安装位置为 $env:ProgramFiles\PowerShell\<version>
  • 可以通过“开始”菜单或 $env:ProgramFiles\PowerShell\<version>\pwsh.exe 启动 PowerShell

必备条件Prerequisites

若要通过 WSMan 启用 PowerShell 远程处理,需要满足以下先决条件:

  • 在 Windows 10 之前的 Windows 版本上安装通用 C 运行时。可通过直接下载或 Windows 更新进行安装。经完全修补(含可选包)且受支持的系统中已安装有通用 C 运行时。
  • 在 Windows 7 和 Windows Server 2008 R2 上安装 Windows Management Framework (WMF) 4.0 或更高版本。

ZIPZIP

提供有 PowerShell 二进制 ZIP 存档,从而支持高级部署方案。请注意,使用 ZIP 存档时,不同于使用 MSI,你无法获取 MSI 先决条件检查。因此,为使通过 WSMan 进行的远程处理可在低于 Windows 10 的 Windows 版本上正常运行,则需确保满足先决条件

在 Windows IoT 上部署Deploying on Windows IoT

Windows IoT 已经附带了 Windows PowerShell,我们将使用它来部署 PowerShell Core 6。

  • 在目标设备中创建 PSSession
  1. $s = New-PSSession -ComputerName <deviceIp> -Credential Administrator
  • 将 ZIP 包复制到设备
  1. # change the destination to however you had partitioned it with sufficient
  2. # space for the zip and the unzipped contents
  3. # the path should be local to the device
  4. Copy-Item .\PowerShell-6.1.0-win-arm32.zip -Destination u:\users\administrator\Downloads -ToSession $s
  • 连接到设备并展开存档
  1. Enter-PSSession $s
  2. Set-Location u:\users\administrator\downloads
  3. Expand-Archive .\PowerShell-6.1.0-win-arm32.zip
  • 在 PowerShell Core 6 中设置远程处理
  1. Set-Location .\PowerShell-6.1.0-win-arm32
  2. # Be sure to use the -PowerShellHome parameter otherwise it'll try to create a new
  3. # endpoint with Windows PowerShell 5.1
  4. .\Install-PowerShellRemoting.ps1 -PowerShellHome .
  5. # You'll get an error message and will be disconnected from the device because it has to restart WinRM
  • 连接到设备上的 PowerShell Core 6 终结点
  1. # Be sure to use the -Configuration parameter. If you omit it, you will connect to Windows PowerShell 5.1
  2. Enter-PSSession -ComputerName <deviceIp> -Credential Administrator -Configuration powershell.6.1.0

在 Nano Server 上进行部署Deploying on Nano Server

这些说明假定某个 PowerShell 版本已在 Nano Server 映像上运行,并且其已经由 Nano Server 映像生成器生成。Nano Server 是“无外设”OS。可以使用两种不同的方法部署核心二进制文件。

  • 脱机 - 安装 Nano Server VHD,并将 zip 文件的内容解压到安装映像中的所选位置。
  • 联机 - 通过 PowerShell 会话传输 zip 文件,并在所需位置中将其解压。
    这两种情况下皆需要 Windows 10 x64 ZIP 发布包,且需要在“管理员”PowerShell 实例中运行命令。

PowerShell Core 脱机部署Offline Deployment of PowerShell Core

  • 使用常用 zip 实用工具将包解压到已安装的 Nano Server 映像中的目录。
  • 卸载映像并启动。
  • 连接到 Windows PowerShell 的收件箱实例。
  • 按照说明使用“另一种实例技术”创建远程处理终结点。

PowerShell Core 联机部署Online Deployment of PowerShell Core

以下步骤将指导你向 Nano Server 运行实例部署 PowerShell Core,并配置其远程终结点。

  • 连接到 Windows PowerShell 的收件箱实例
  1. $session = New-PSSession -ComputerName <Nano Server IP address> -Credential <An Administrator account on the system>
  • 将文件复制到 Nano Server 实例
  1. Copy-Item <local PS Core download location>\powershell-<version>-win-x64.zip c:\ -ToSession $session
  • 输入会话
  1. Enter-PSSession $session
  • 提取 ZIP 文件
  1. # Insert the appropriate version.
  2. Expand-Archive -Path C:\powershell-<version>-win-x64.zip -DestinationPath "C:\PowerShellCore_<version>"

有关创建远程处理终结点的说明Instructions to Create a Remoting Endpoint

PowerShell Core 同时支持采用 WSMan 和 SSH 的 PowerShell 远程处理协议 (PSRP)。有关更多信息,请参阅:

项目安装说明Artifact Installation Instructions

我们使用 AppVeyor 在每个 CI 版本上发布具有 CoreCLR 位的存档。

若要从 CoreCLR 项目中安装 PowerShell Core:

  • 从特定版本的“项目”选项卡下载 ZIP 包。
  • 解除阻止 ZIP 文件:右键单击“文件资源管理器”->“属性”->“选中‘解除阻止’框”->“应用”
  • 将 zip 文件解压到 bin 目录
  • ./bin/pwsh.exe