今回は、Azureをコマンドで操作する際に利用するAzure Az Powershell モジュールについてです。
- ■はじめに
- ■注意点1:AzモジュールとAzureRMモジュールの共存について
- ■注意点2:Powershellのバージョンについて
- ■余談:Powershellのバージョンの確認方法
- ■事前準備:Powershellスクリプト実行ポリシーの設定
- ■PowerShell5.1利用時のAzモジュールのインストール&インポート
- ■PowerShell5.1利用時のAzモジュールのインストール&インポートの動確
- ■PowerShell7.X利用時のAzモジュールのインストール&インポート
■はじめに
現在(2021/10時点)、Azureをコマンドで操作する際に利用できるモジュールが2つ存在しています。
① Azモジュール(本記事の内容)
② AzureRMモジュール
上記②は2024/2/9に廃止されます。
古くからAzure環境を利用している場合、AzureRMモジュールを利用したコマンドやPowershellスクリプトが利用されているケースも多くあると思います。
本記事では上記①のAzモジュールについてのみ記載しております。
AzureRMモジュール関係で訪問された方は申し訳ないです。
■注意点1:AzモジュールとAzureRMモジュールの共存について
前述の通りAzureで利用できるモジュールが2つ存在していますが、
利用しているPowershellのバージョンが5.1の場合には、
AzureRMモジュールとAzモジュールの同時インストールはサポートされていません。
Install the Azure Az PowerShell module | Microsoft Docs
上記の公式MSサイトにもありますが、「サポートされてない」です。
不確実な情報ですが、
Powershell5.1でAzureRMモジュールとAzモジュールをインストールし、それぞれをインポートすると、インポートできるコマンドレットとできないコマンドレットがあるようです。
また、どちらもインポートして実際にコマンドレットを実行すると上手く動作しているように見受けられることもありますが、
MSの言いつけ通り、どちらかのモジュールをインストール&インポートして利用した方が余計な心配をせずに済みますし、ごちゃごちゃ考えずに済みます。
尚、Powershell7.0.6 LTS版およびPowershell7.1.3以降のAzモジュールをインストールすることで共存可能です。
■注意点2:Powershellのバージョンについて
Azモジュールを利用する際、利用するPowershellのバージョンによってインストール方法が異なります。
① PowerShell5.1
⇒ Windows10バージョン1607以降であればインストール済み。
② PowerShell7.X 以降
⇒ 最新版のPowershellのバージョンをインストールしたい場合は以下のサイトから入手可能です。
Install PowerShell on Windows, Linux, and macOS - PowerShell | Microsoft Docs
本記事では、①、②それぞれのAzモジュールのインストール方法とインポート方法を下記します。
念のためですが、どちらのPowerShellのバージョンのものを利用していても、MSからサポートされているため問題ありません。
■余談:Powershellのバージョンの確認方法
もしくは
■事前準備:Powershellスクリプト実行ポリシーの設定
Powershellスクリプト実行ポリシーの設定次第で以降手順でエラーとなることがあるため、まずは実行ポリシーを変更します。
1.現在の実行ポリシーを確認します。
Get-ExecutionPolicy -List
2.以下コマンドを実行します。(管理者権限のPowershellで実行します。)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
※「Y」を入力し、Enterキーを押下します。
3.正常に実行ポリシーの設定が変更されたかを確認します。
※「CurrentUser」が「RemoteSigned」になっていれば問題ありません。
■PowerShell5.1利用時のAzモジュールのインストール&インポート
大きな流れは以下の通りです。
1..NET Framework4.7.2以降をインストール
2.PowerShellGetモジュールの最新版をインストール
3.Azモジュールのインストール
Install the Azure Az PowerShell module | Microsoft Docs
以下詳細手順です。
0..NET Frameworkのインストール状況を確認します。
コマンドプロンプトを起動し、以下の通り実行します。
※この結果の場合、すでに4.8がインストールされているため、.NET Frameworkのインストールは不要ですので、手順5まで進んでください。
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v "Version"
1..NET Framework4.7.2以降がインストールされていない場合は以下サイトにアクセスします。
Install the .NET Framework on Windows 10 - .NET Framework | Microsoft Docs
2.「.NET Framework4.8をダウンロードする」をクリックします。
3.「Runtime」欄にある「Download .NET Framework 4.8 Runtime」をクリックします。
4.ダウンロードできた実行ファイルを実行します。
基本的に、ウィザードのデフォルト設定で問題ないです。
5.PowerShellGetコマンドのインストール状況を確認します。
Get-Module | select-string PowerShellGet*
何も表示されない場合にはインストールされてません。
6.PowerShellGetコマンドをインストールします。PowerShellを管理者権限で開いてください。
Install-Module -Name PowerShellGet -Force
7.NuGetプロバイダーのインストールを促されるため、「Y」を押します。
8.PowerShellGetモジュールがインストールできたことを確認します。
9.Azモジュールをインストールします。(管理者権限のPowershellで実行します。)
Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force
※コマンドが動き出すのに1分ぐらいかかり、完了するまでに5分ぐらいかかります。
正常にコマンドが完了すると特に何も表示されず、プロンプトが戻ってくるだけとなります。
10.Azモジュールがインストールできたかを確認します。
Get-InstalledModule -Name Az
11.Azモジュールをインストールしたことにより使えるようになったAzコマンドを確認します。
Get-Command -Module Az.* | select-string Get-Az*
11.Azモジュールをインポートします。(管理者権限のPowershellで実行します。)
Import-Module -Name Az
※完了するまでに1分ぐらいかかります。
※正常に完了すると、プロンプトだけが戻ってきます。
12.インポートできたAzモジュールのコマンドを確認します。
Get-Module -Name Az.*
■PowerShell5.1利用時のAzモジュールのインストール&インポートの動確
以下コマンドを実行し、ログイン画面のダイアログボックスが表示されればOKです。
Connect-AzAccount
■PowerShell7.X利用時のAzモジュールのインストール&インポート
現在PowerShell5.1を利用している方で7.XのPowerShellをインストール後にAzモジュールのインストールを行いたい方はこちらの手順となります。
1.最新版のPowerShellをインストールします。
Install PowerShell on Windows, Linux, and macOS - PowerShell | Microsoft Docs
2.PowerShell5.1で記載している手順9以降を実施します。
以上です。