先日開催された「Author Spotlight Event "VMware vSphere 徹底入門"」の LT「PowerCLI で vSphere を見よう」の登壇資料です。
今回の内容です。
はじめに
vSphere 徹底入門で勉強するときなどに、テキストで情報取得すると便利なこともあります。

そこで、PowerCLI での情報取得の例を紹介します。

PowerCLI には、vSphere に関連する多数のモジュールが含まれます。

Get-VM で仮想マシンの情報を取得してみる
今回は、Get-VM で仮想マシンの情報を取得してみます。ちなみに「lab-dns-01」は、自宅ラボの DNS サーバーです。Get-VM では、複数の仮想マシンの情報取得や、取得するプロパティの指定が可能です。

デフォルトではあまりプロパティが表示されませんが、パイプで「select *」を実行すると、すべてのプロパティを取得できます。
このあたりの情報が取得できます。

オブジェクトの持つプロパティは、「Get-Member」で確認できます。
Definition でのデータ型が「string」や「int」などであれば値が取得できます。そして PowerCLI ならではの型になっている場合は、そのオブジェクトをを辿ることができます。

たとえば Get-VM の VMHost プロパティは、Definition が次の型になっています。
- VMware.VimAutomation.ViCore.Types.V1.Inventory.VMHost
VMHost プロパティでは、デフォルトでは、仮想マシンの配置されている ESXi ホストの名前が表示されます。そして、「select -ExpandProperty」などを使用すれば、VMHost の名前以外の(Get-VMHost と同じ)情報も取得できます。

オブジェクトのプロパティは、select -ExpandProperty や、ドットでの連結で開けます。

じつは、Get-View もしくは、ExtensionData プロパティから、「select *」より多くの情報が取得できます。
取得できる情報は、このあたりの API リファレンスでも確認できます。

たとえば、仮想マシンの BIOS / EFI(UEFI)の設定も確認できます。

ほかにも、通常は Get-HardDisk で取得する VMDK 以外の仮想マシン構成ファイルの情報を取得したり、ゲスト OS 側でのファイルシステムの情報も取得できます。
これらの情報は別のコマンドレットからでも取得できますが、特定のオブジェクト(この例であれば仮想マシン)から情報を辿りたい場合に便利な方法です。

ちなみに、Managed Object Refenrence ID(vm-325 のような)も取得できます。

ちなみに VCF は?
PowerCLI には、Cloud Builder や SDDC Maanger を操作できる、VCF 関連モジュールも含まれています。しかし、VCF 操作においては、PowerVCF という別モジュールを追加インストールしした方が便利です。

まとめ
PowerCLI は、「Get-~」というコマンドレットであれば設定変更がないので、安心して情報取得するとよいと思います。

以上、PowerCLI の Get-VM LT の登壇資料でした。