これは エーピーコミュニケーションズAdvent Calendar 2020 の16日目の記事です。
こんにちは、浅野です。
変更作業などのために、VMWare vCenterで管理しているVMの情報を取得したい場合、
該当VMを検索して、ハードウェア構成をスクショして、場合によってはエクセルに転機して、
変更作業後に再度繰り返して、、スクショして、、
という一連の作業ってよくあるかと思います。
面倒だなと思っているので、なんとかしたいなと思いPowerShellでPowerCLIを使って行った結果を記載します。
ちなみに、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>
ということで、構成情報としてもまとめやすくなりました。
PowerShellで selectなど使用できるのが良かったかなと思います。
ご参考になれば幸いです。
ご覧いただきありがとうございました。
参考
https://www.n-novice.com/entry/2019/12/29/180000
https://tech.guitarrapc.com/entry/2013/03/15/190336