AzureCLIを利用してAzure仮想マシンに拡張機能をインストールしてみました。
1.事前準備
最初に利用できる拡張機能を以下のコマンドで取得します。
az vm extension image list以下のように出力されるので、必要な拡張機能の名前をメモしておきます。

1-1. [参考] 拡張機能を検索する方法
以下のコマンドで取得したい拡張機能を検索できます。。
下記では「monitor」という文字列を含む拡張機能名に絞って出力します。
$ex_list = az vm extension image list | ConvertFrom-Json
$ex_list | where {$_.name -like "*monitor*" }ちなみに拡張機能は約4600個ほどあります。
PS C:\> $ex_list = az vm extension image list | ConvertFrom-Json
PS C:\> $ex_list.Count
45922.拡張機能をインストールする
以下のコマンドで拡張機能をインストールします。
az vm extension set `
--subscription TestSub02 `
--resource-group Test-RG `
--vm-name test-vm-02 `
--name NetworkWatcherAgentWindows `
--publisher Microsoft.Azure.NetworkWatcher上記の例では「NetworkWatcherAgentWindows」をインストールしています。
また、今回はインターフェースとしてPowershellを利用しているので、改行する際には ` を利用していますが、コマンドプロンプトを利用する場合には、^ を利用する必要がありますのでその点は注意してください。
既存でインストールされている拡張機能を確認する場合には以下のコマンドを利用します。
az vm extension list `
--subscription TestSub02 `
--resource-group Test-RG `
--vm-name test-vm-023.拡張機能を削除する
拡張機能を削除する場合には以下のコマンドを実行します。
az vm extension delete `
--subscription TestSub02 `
--resource-group Test-RG `
--vm-name test-vm-02 `
--name NetworkWatcherAgentWindows4.[参考] 仮想マシンが起動状態でないと拡張機能操作はできない
仮想マシンが起動状態でないと、拡張機能のインストールやアンインストールができません。
以下のように「Cannot modify extensions in the VM when the VM is not running.」と表示されてコマンドを実行できません。


