PowerShellで入れ子になったプロパティから値を取得・表示する方法(Format-Custom/Format-Table/Format-List)
Get-AzVM(Azure PowerShell)を利用して仮想マシンの情報を取得した際、入れ子になった仮想マシンサイズの表示方法が分からず悩んでいました。
いろいろ試してみたところ、PowerShellの実行結果で入れ子になったプロパティ(値)はFormat-Customで表示できることが分かりました。
今回は、Get-AzVMコマンド(Azure PowerShell)を例に、入れ子になった仮想マシンサイズのプロパティ(値)をFormat-Customで表示する方法や、Format-TableやFormat-Listを使って実行結果を分かりやすく表示する方法について簡単にまとめました。
Format-Custom、Format-List、Format-Tableの使い方を確認
Get-AzVMコマンドを実行して表示内容を確認
Get-AzVMコマンドを実行して、表示内容を確認します。
このように、ほとんどの情報が入れ子になっているため、仮想マシンのサイズを確認できませんでした。
実行結果を見ると、仮想マシンサイズの情報はHardwareProfileプロパティに含まれていることが分かります。
Get-AzVMコマンドを実行 | |
|
Format-Customを使って入れ子のプロパティ(値)を確認
Format-Customを使用して、オブジェクトの詳細など表示することができます。
Get-AzVMコマンドにFormat-Customを付けて実行します。
Format-Customを利用する場合は|(パイプ)で接続します。
-Propertyオプションで表示する項目を指定することができます。
今回は、仮想マシンのサイズが含まれていそうなHardwareProfileを指定しています。
すべての情報を表示したい場合は、-Property *と指定します。
Format-Customを利用することで、入れ子になっていて確認できなかった仮想マシンサイズが、Standard_B1sであることを確認できました。
Format-Customを使用して確認 | |
|
Format-Listを使って表示したい項目をリスト形式で表示
Format-Listを利用すると、PowerShellの実行結果をリスト形式で表示することができます。
Format-Listはflと省略して利用することもできます。
Format-Listの利用例については、こちらに記載があります。
HardwareProfileの中にVmSizeという項目があり、そこに仮想マシンサイズの値が格納されています。
このような入れ子構造の値は、$_.HardwareProfile.VmSizeと指定することで取得できます。
Format-Listを使って表示したい項目をリスト形式で表示 | |
|
しかし、このままだと仮想マシンのサイズの部分が分かりにくくなってしまいます。
表記名をVmSizeとして、見やすくしてみます。
表記名を設定して見やすくする | |
|
Format-Tableを使って表示したい項目をテーブル形式で表示
Format-Tableを利用すると、PowerShellの実行結果をテーブル形式で表示することができます。
Format-Tableはftと省略して利用することもできます。
Format-Tableの利用例については、こちらに記載があります。
Format-Tableを使って表示したい項目をテーブル形式で表示 | |
|
—広告—
最後に
入れ子になった仮想マシンサイズのプロパティ(値)をFormat-Customで表示する方法や、Format-Table、Format-Listを使って実行結果を分かりやすく表示する方法について説明しました。
今回は、Get-AzVMコマンドレットで取得したAzure仮想マシン情報を例に基本的な点を確認していますが、その他にもSelect-Objectなどを使う方法もあります。
引き続き、いろいろ試してみたいと思います。
仮想マシンに関するPowerShellコマンドレットについては、こちらで紹介しています。
仮想マシンン情報を取得して活用した例については、こちらで紹介しています。