LoginSignup
1

More than 1 year has passed since last update.

Organization

【VMware】PowerShellでPowerCLIを使ってVM情報を取得する

これは エーピーコミュニケーションズAdvent Calendar 2020 の16日目の記事です。

こんにちは、浅野です。

変更作業などのために、VMWare vCenterで管理しているVMの情報を取得したい場合、
該当VMを検索して、ハードウェア構成をスクショして、場合によってはエクセルに転機して、
変更作業後に再度繰り返して、、スクショして、、
という一連の作業ってよくあるかと思います。

面倒だなと思っているので、なんとかしたいなと思いPowerShellでPowerCLIを使って行った結果を記載します。

イメージ

image.png

ちなみに、ESXi バージョン:7.0.0です。

本編

対象機器へログイン(事前作業)
PS C:\Users\ika> Connect-VIServer 192.168.1.NN -force

Name                           Port  User
----                           ----  ----
192.168.1.NN                   443   root
Get-VM(無印)

以下な感じ(足りないなぁ)

PS C:\Users\ika> Get-VM

Name                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
aaa                  PoweredOff 2        1.000
bbb                  PoweredOff 1        2.000
Get-VMに |(パイプして) select * つけるとこんな感じ
PS C:\Users\ika> Get-VM | select *
警告: The 'Version' property of VirtualMachine type is deprecated. Use the 'HardwareVersion' property instead.


Name                    : aaa
PowerState              : PoweredOff
Notes                   :
Guest                   : aaa:
NumCpu                  : 2
CoresPerSocket          : 1
MemoryMB                : 1024
MemoryGB                : 1
VMHostId                : HostSystem-ha-host
VMHost                  : 192.168.1.NN
VApp                    :
FolderId                : Folder-ha-folder-vm
Folder                  : vm
ResourcePoolId          : ResourcePool-ha-root-pool
ResourcePool            : Resources
HARestartPriority       :
HAIsolationResponse     :
DrsAutomationLevel      :
VMSwapfilePolicy        : Inherit
VMResourceConfiguration : CpuShares:Normal/2000 MemShares:Normal/10240
Version                 : Unknown
HardwareVersion         : vmx-17
PersistentId            : 5231e822-e0f6-8559-d6c3-ce8605ae6a77
GuestId                 : rhel7_64Guest
UsedSpaceGB             : 8.001024075783789157867431641
ProvisionedSpaceGB      : 9.304071668535470962524414063
DatastoreIdList         : {Datastore-5f71f5e2-9aba4140-9bd3-1c697a62d83a}
CreateDate              : 2020/10/17 9:03:16
ExtensionData           : VMware.Vim.VirtualMachine
CustomFields            : {}
Id                      : VirtualMachine-1
Uid                     : /VIServer=root@192.168.1.NN:443/VirtualMachine=VirtualMachine-1/

Name                    : bbb
PowerState              : PoweredOff
Notes                   :
Guest                   : bbb:
NumCpu                  : 1
CoresPerSocket          : 1
MemoryMB                : 2048
MemoryGB                : 2
VMHostId                : HostSystem-ha-host
VMHost                  : 192.168.1.NN
VApp                    :
FolderId                : Folder-ha-folder-vm
Folder                  : vm
ResourcePoolId          : ResourcePool-ha-root-pool
ResourcePool            : Resources
HARestartPriority       :
HAIsolationResponse     :
DrsAutomationLevel      :
VMSwapfilePolicy        : Inherit
VMResourceConfiguration : CpuShares:Normal/1000 MemShares:Normal/20480
Version                 : Unknown
HardwareVersion         : vmx-17
PersistentId            : 52ad865a-793a-a75f-3a1f-b38818272a6b
GuestId                 : centos7_64Guest
UsedSpaceGB             : 16.000280918553471565246582031
ProvisionedSpaceGB      : 18.301363942213356494903564453
DatastoreIdList         : {Datastore-5f71f5e2-9aba4140-9bd3-1c697a62d83a}
CreateDate              : 2020/10/17 13:21:23
ExtensionData           : VMware.Vim.VirtualMachine
CustomFields            : {}
Id                      : VirtualMachine-2
Uid                     : /VIServer=root@192.168.1.NN:443/VirtualMachine=VirtualMachine-2/



PS C:\Users\ika>

結構いい感じですが、まとめるとき面倒ですね。。特に複数VM
ということでもう一押し!

さらに|(パイプして) csv形式にして出力させる。
PS C:\Users\ika> Get-VM | select * | export-csv -path C:\tmp\file.csv
PS C:\Users\ika>

CSVファイルは以下(写真は一部です)
image.png

ということで、構成情報としてもまとめやすくなりました。
PowerShellで selectなど使用できるのが良かったかなと思います。

ご参考になれば幸いです。
ご覧いただきありがとうございました。

参考
https://www.n-novice.com/entry/2019/12/29/180000
https://tech.guitarrapc.com/entry/2013/03/15/190336

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1