PowerShell 6.1をWindows 10に導入したので覚書

PowerShell 6.1をWindows 10端末に導入したので覚書

参考サイト、文献

導入に当たっては以下のサイト、書籍を参考にしました

身も蓋もありませんが、より深く理解したい人やmacOSLinuxに導入したい人は、この記事読むより上記のサイト、書籍を読んで下さい

PowerShell Core のサポート ライフサイクル

PowerShell 6.xを導入するにあたっては PowerShell Core のサポート ライフサイクル | Microsoft Docs を把握しておくことをお勧めします

最新の PowerShell 6.x のインストーラをダウンロードして実行

Releases · PowerShell/PowerShell · GitHub からインストーラーをダウンロード (自分は64bit版Windows 10なので PowerShell-6.1.0-win-x64.msi)

インストーラの実行は特に迷うところもないので省略

規定値では %ProgramFiles%\PowerShell\6\PowerShellがインストールされ、実行ファイルは pwsh.exe になります

また、インストーラがシステム環境変数PATH に上記pathを追加するので以降 pwsh で PowerShell 6.xが呼び出せるようになります

ターミナルからバージョンの確認

コマンドプロンプトからはpwsh --version でpwsh.exeのバージョンが、また --command で従来のWindows PowerShellpowershell 同様にPowerShellのコマンドが実行できます

cmd >pwsh --version
PowerShell 6.1.0

cmd >pwsh -command $PSVersionTable.PSVersion

Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
6      1      0

Windows PowerShell 5以前との共存を確認

(従来通り) Windows PowerShell (v5.1 or less than...) を呼び出すときは powershell コマンドを使います

cmd >powershell -command $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      17134  228

また、(従来通り) -Version オプションを使うことで古いバージョンのPowerShellを起動することもできます

cmd >powershell -Version 2.0 -command $PSVersionTable.CLRVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      50727  8935

Visual Studio Codeの設定変更

PowerShell 6.1にはWindows PowerShellで言う所のISEはないのでIDEにはVisual Studio CodePowerShell拡張の使用をお勧めします

まず、Visual Studio Codeをインストールし、PowerShell拡張を導入しておきます

その上で標準ターミナルをPowerShell 6.xにするため、Visual Studio Codeのユーザー設定またはワークスペース設定のTerminal › Integrated › Shell: WindowsC:\Program Files\PowerShell\6\pwsh.exe に変更します

setting.jsonを直接編集する場合、以下の通りです

  // Windows でターミナルが使用するシェルのパス。[シェルの構成について詳細を表示](https://code.visualstudio.com/docs/editor/integrated-terminal#_configuration)。
  "terminal.integrated.shell.windows": "C:\\Program Files\\PowerShell\\6\\pwsh.exe"

ちなみにユーザー設定のsetting.jsonを直接編集したい場合、setting.json%APPDATA%\Code\User\setting.json に存在します


また、PowerShell拡張で使用するPowerShellは上記標準ターミナルの設定とは別にPowershell: Power Shell Exe Pathを C:\Program Files\PowerShell\6\pwsh.exe に変更します

setting.jsonを直接編集する場合、以下の通りです

  // Specifies the full path to a PowerShell executable. Changes the installation of PowerShell used for language and debugging services.
  "powershell.powerShellExePath": "C:\\Program Files\\PowerShell\\6\\pwsh.exe"

この設定を行わないと標準ターミナルは6.xでも、PowerShell拡張は5.1で実行されてしまいます (1敗)


おまけ: .NET CoreのSDKも導入

.NET CoreのSDK .NET Framework や別バージョンの .NET Core と共存できます

.NET Downloads for Linux, macOS, and Windows

自分の環境用のインストーラをダウンロードしたら実行します

完了したらインストール状況を確認

cmd >dotnet --version
2.1.402
cmd >dotnet --info
.NET Core SDK (global.json を反映):
 Version:   2.1.402
 Commit:    3599f217f4

(以下略)

以上になります