Azure PowerShell をインストールしてみた

Azure AzurePowershell

Powershell上でazモジュールを利用してAzureを操作する必要が出てきたため、
Azure Powershellモジュールをインストールしてみました。

インストールするときに利用したコマンドや注意点などをインストールの流れに沿ってご紹介していきます。

広告

事前準備

PowerShell スクリプトの実行ポリシーの確認

現在のユーザでpowershellスクリプトが実行できるように実行ポリシーが、「RemoteSigned」「Unrestricted」「Bypass」のいづれかであることを確認します。

Get-ExecutionPolicy

もし「Restricted」「AllSigned」であった場合には以下のコマンドで変更してください。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

「AZ Powershellモジュール」のインストール

インストールコマンド実行

以下のコマンドを実行してインストールします。

if (Get-Module -Name AzureRM -ListAvailable) {
    Write-Warning -Message ('Az module not installed. Having both the AzureRM and ' +
      'Az modules installed at the same time is not supported.')
} else {
    Install-Module -Name Az -AllowClobber -Scope CurrentUser
}

以下のような表示が出たら「y」を押します。

コマンド実行画面(確認画面)

その後以下のように緑色でインストール状況が表示されます。

コマンド実行画面(インストール中)

緑のインストール画面表示が終わるとインストール完了です。

インストールの確認

「get-command」で確認してみます。

get-command |select-string "get-azvm"
「get-command」実行画面

インストールコマンド解説

Windows では PowerShell 5.1 に対して AzureRM と Az の両方のモジュールを同時にインストールすることはサポートされていません。

なので現在の端末に「AzureRM」がインストールされていないかをif文の条件に記載し、もし「AzureRM」がインストールされている場合、「Az module not installed.・・・・」と表示します。

「AzureRM」がインストールされている場合のコマンド実行結果

もし「Az module not installed. ・・・・ same time is not supported.」が表示されたら

AzureRMが既存で存在した場合に表示されますので「AzureRM」をアンインストールしましょう。

AzureRMのアンインストールの方法は以下の記事にまとめてありますので参考としてください。

AzureRMモジュールをアンインストールする方法
現在ではAZ Powershellモジュールが最新のAzureを操作するPowershellモジュールですが、少し古いモジュールであるAzureRMモジュールをアンインストールする方法をまとめました。 アンインストール方法 「AzureRM...

スクリプトの実行ポリシーが [Restricted] だとコマンド実行できない

もう一点注意点があり、Powershellの実行ポリシーを [Restricted] として元の設定に戻すなどすると、コマンドが実行できないことがありますので注意が必要です。

以下のようにエラーとなり実行できません。

PS C:\> Get-ExecutionPolicy
Restricted
PS C:\>
PS C:\>
PS C:\> Connect-AzAccount
Connect-AzAccount : 'Connect-AzAccount' コマンドはモジュール 'Az.Accounts' で見つかりましたが、このモジュールを読み込む
ことができませんでした。詳細については、'Import-Module Az.Accounts' を実行してください。
発生場所 行:1 文字:1
+ Connect-AzAccount
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Connect-AzAccount:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

PS C:\>

なのでAzurePowershellを実行する際にはPowreshellの実行ポリシーは「Restricted」以外のポリシーにして実行しましょう。

Powershell実行ポリシーについては以下の記事にもまとめていますので参考にしてください。

Powershellの実行ポリシーを変更する(Set-ExecutionPolicy)
powershellの実行ポリシーを変更する方法についてまとめてみました。 powershell を実行する際には実行ポリシーが適切でないとエラーとなり実行できません。 powershell実行時に出てくるエラー 実行ポリシーが となってい...

[参考] サブスクリプションの変更方法

AzurePowerShell でAzureを操作する際には、1つのサブスクリプションが選択された状態での操作しか対応していません。

なのでもし複数のサブスクリプションを利用している場合にはサブスクリプション切り替える必要があります。

サブスクリプションを変更する方法については以下の記事でまとめているので参考にしてください。

【AzurePowerShell】サブスクリプションを変更する(Set-AzContext)
AzurePowerShell では1つのサブスクリプションが選択された状態での操作しか対応していません。 なので複数のサブスクリプションを利用している場合には、ログイン後にデフォルトで選択されるサブスクリプションがリソースを作成したいサブ...

[参考] AzureCLIのインストールについて

Powershellのモジュールとして提供されるほかにも、AzureCLIというインターフェースも提供されており、こちらはコマンドプロンプトからもAzureに対してコマンド操作することができます

AzureCLI のインストール方法については以下の記事でまとめてありますので参考にしてみてください。

AzureCLIをインストールする
などのazコマンドを利用してAzureを操作することができるようにAzure CLIを自分の端末にインストールする方法をまとめました。 AzureCLIのほかにも、古くから存在するAzurePowershellもありますが、azコマンドのほ...

コメント

タイトルとURLをコピーしました