リソースプール別、ホスト別に数える
$vm = Get-VM -Location (Get-resourcepool test07) | Where { $_.PowerState -eq "PoweredOn" } ; $vm.count
$vm = Get-VM -Location (Get-VMHost esxi04.vsphere.local) | Where { $_.PowerState -eq "PoweredOn" } ; $vm.count
ループを回す方法 PoweredOnのみをカウント
$respool = Get-ResourcePool test07
$vmlist = Get-VM -Location $respool
$guestlist = Get-VMGuest $vmlist
$PoweredOn=0
for ($i=0; $i -lt $guestlist.count ; $i++){
if( $vmlist[$i].PowerState -eq "PoweredOn" ){
$poweredOn++
}
}
echo $PoweredOn
電源ONのVMをリストアップ リソースプール別 ホスト別
Get-VM -Location (Get-resourcepool test07 ) | Where { $_.PowerState -eq "PoweredOn" } | foreach { echo $_.name}
Get-VM -Location (Get-VMHost esxi01.vsphere.local) | Where { $_.PowerState -eq "PoweredOn" } | foreach { echo $_.name}
Get-VM -Location (Get-VMHost esxi01.vsphere.local) | Where { $_.PowerState -eq "PoweredOn" } | Get-vm
ついでに、電源ONのVMをリスタート
Get-VM -Location (Get-resourcepool test09) | Where { $_.PowerState -eq "PoweredOn" } | Restart-VMGuest
電源に関係なくリスタート
Get-VM -Location (Get-VMHost esxi01.vsphere.local ) | Restart-VMGuest
filterを使って数える 時間かかる(未テスト)
$vm = get-view -viewtype virtualmachine -filter @{"name"="test07"} ; $vm.count