検索
連載

クロスプラットフォーム対応の「PowerShell Core 7.0」が正式リリースMicrosoft Azure最新機能フォローアップ(102)

Microsoftは2020年3月4日(米国時間)、オープンソースでクロスプラットフォーム対応の「PowerShell Core」の最新バージョン、「PowerShell Core 7.0」を正式にリリースし、一般提供を開始しました。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Microsoft Azure最新機能フォローアップ」のインデックス

Microsoft Azure最新機能フォローアップ

PowerShell Coreとは?

 Microsoftは2020年3月4日(米国時間)、PowerShell Coreの最新バージョン「PowerShell Core 7.0」を正式にリリースし、一般提供を開始しました。PowerShell Coreは、Windows、Linux、macOSに対応したオープンソースでクロスプラットフォームのシェル/スクリプティング環境です。

 Windowsは「.NET Framework」をランタイムとして使用する「Windows PowerShell」を標準搭載していますが、Windows PowerShellは主に“Windows環境のシステム管理や自動化を目的としたもの”で、最新バージョンは「Windows PowerShell 5.1」です。

 一方、PowerShell Coreはオープンソースの「.NET Core」をランタイムとして採用しており、Windowsだけでなく、LinuxやmacOSにも正式に対応しています。

 2018年1月、.NET Core 2.0に基づいたPowerShell Core 6.0が初めて一般提供されました。その後、.NET Core 2.1に基づいたPowerShell Core 6.1、.NET Core 2.2に基づいたPowerShell Core 6.2が提供されました。PowerShell Core 7.0は、最新のNET Core 3.1をランタイムとして使用します。

 PowerShell Core 7.0は、「Windows 7 SP1」および「Windows Server 2008 R2」以降の32bit(x86)または64bit(x64)版Windows、Linux(x86、x64)、macOS(x64)にインストールして使用でき、Windows PowerShell 5.1向けのモジュールとの高い互換性もあります。

なお、試験段階としてARM32/ARM64(Windows 10 IoTやRaspbian)向けの「PowerShell Core for ARM」も利用可能です。Windows、Linux、macOSへのインストール方法については、以下のドキュメントを参照してください。

画面1
画面1 画面奥の青い背景はWindows標準のWindows PowerShell 5.1(powershell.exe)、手前の黒い背景はPowerShell Core 7.0(pwsh.exe)
画面2
画面2 Linux(画面はUbuntu 18.04 LTS)で動作するPowerShell Core 7.0
画面3
画面3 macOSで動作するPowerShell Core 7.0

Azure PowerShellはAzureRMモジュールからAzモジュールへ

 Microsoft Azureのクラウドで利用できるシェル環境「Azure Cloud Shell」では、「Azure PowerShell」と「Azure Command-Line Interface(Azure CLI)」を利用できます。Azure PowerShellのシェル環境は、LinuxにPowerShell Coreがインストールされている環境になります。2020年3月初めの時点で、正式リリースより少し前のLinux向け「PowerShell Core 7.0-rc.2」で構築されていました(画面4)。

画面4
画面4 Azure Cloud ShellのAzure PowerShellシェル環境は、2020年3月初めの時点でPowerShell Core 7.0-rc.2

 PowerShell Coreのシェル/スクリプト環境がクロスプラットフォーム対応であることの利点は、Azure Cloud Shellのようにクラウドを管理するためのシェル環境を、使用しているデバイスのOS環境に依存することなく用意できることにあります。

 ローカルのPowerShell Core環境にAzure PowerShellのモジュールを追加することで、ローカルのシェル環境からAzure上のリソースをプラットフォームに関係なく、共通の操作で管理することができます。

 これまでAzureの管理にはWindows PowerShell 5.1に「AzureRM」モジュールをインストールして使用するのが一般的でしたが、2018年12月に新しい「Az」モジュールが利用可能になっています(最新バージョンは3.5.0)。

 Azモジュールは、Windows PowerShell 5.1およびPowerShell Core 6.0以降でサポートされ、クロスプラットフォームの環境に一貫性のある管理機能を提供します(前出の画面2)。Azureの最新機能に対応するには、できるだけ早く、Azモジュールに移行することが推奨されています。

 なお、Windows PowerShell 5.1にAzureRMモジュールとAzモジュールの両方をインストールすることはできません(PowerShell Core 6.0以降では可能であり、Azure Cloud Shellでは両方のモジュールを使用できます)。Windows PowerShell 5.1をAzモジュールに移行するためには、AzureRMモジュールをアンインストールする必要があります。あるいは、Windows PowerShell 5.1の環境にAzureRMモジュールを維持したまま、PowerShell Core 7.0(または6.0以降)の環境のAzモジュールを導入することで、両方の環境を使用可能にすることもできます。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2019-2020)SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る