【PowerCLI】ExtensionDataとはなんのか

どうも、Tです。

PowerCLIをいじっていて、ExtensionDataがよくわからなかったので備忘録です。

スポンサーリンク
アドセンス1

ExtensionDataの場所

PowerCLIで仮想マシンオブジェクトをGetして「Select-Object *」などですべてのプロパティを見るとExtensionDataが表示されます。

Get-VM -Name w2k19 | Select-Object *

確認したわけではありませんが、仮想マシン以外のオブジェクト(ホストやネットワークなど)でも基本的に保持しているプロパティになります。

ExtensionDataの用途

Get-VMだけだと非常に簡素な情報しかでてきません。

「Get-VM -Name w2k19 | Select-Object *」などを使うことで先ほどのような多くの情報を表示することが可能です。

さらに詳しい情報を取得したいときに、ExtensionDataプロパティの中身を見ると参照することができます。

(Get-VM -Name w2k19).ExtensionData

ExtensionDataプロパティにはほかにも多くの情報が含まれており、下記では仮想マシンの稼働時間(秒)を取得しています。結果は250秒稼働しています。これを割っていけば稼働日数、時間の計算が行えます。

(Get-VM -Name w2k19).ExtensionData.Summary.QuickStats.UptimeSeconds

Get-View

ExtensionDataプロパティを見る別の方法として、Get-Viewコマンドレットがあります。VMwareの情報を見てるとGet-Viewを使う方が一般的っぽいようです。

(Get-VM -Name w2k19 | Get-View)

(Get-VM -Name w2k19 | Get-View).Summary.QuickStats.UptimeSeconds

Get-Viewも使い方は多いので、詳しくはリファレンスをご参照ください。

Get-View Command | VMware PowerCLI Reference
This cmdlet returns the vSphere View objects that correspond to the specified search criteria.

何がうれしいのか

PowerCLIで用意されているコマンドレットでは参照できない情報が扱えるのが一番大きい恩恵ではりますが、ESXiホストの電源ポリシーのようにExtensionDataプロパティ内のメソッドを使わないと設定できない項目がチラホラあります。

how to modify vSphere power policy with powercli
Hi, I'm looking a way to modify the power management settings for the hosts with powercli. switching between the 4 policy and getting info on hosts having thi...

このような設定を行うにも、ExtensionDataが何なのかを理解しておくことは重要かなと思います。上記の設定の意味を調べていてExtensionDataにぶつかりました・・・・。

参考

https://blogs.vmware.com/PowerCLI/2015/02/get-view-part-1-introduction.html
Get-View Part 2: Views and Extension Data
In Get-View Part 1: Introduction I introduced the advanced feature Get-View and a little bit about what it does. Before getting into the views and extension dat...
https://vmguru.com/2016/02/powershell-friday-extensiondata/

まとめ

PowerCLIのコマンドレットだけでも出来ることは多いですが、ExtensionDataを扱うことでさらにできることが広がりそうです。

スポンサーリンク
アドセンス1
アドセンス1
ブログランキング・にほんブログ村へ

シェアする

フォローする