Powercli

1.迁移前检查兼容性 

您可以使用virtualmachineprovisioning oningchecker对象的QueryVMotionCompatibilityEx_Task方法(它是ServiceContent对象的一个属性)。

例子:

## 检查VMotion兼容性的VM名
$strMyVMNameToCheck = "myVM0"
用于检查此VM的VMotion兼容性的目标VMHost的名称
$strMyVMHostNameToCheck = "myDestinationHost.mydomain.com"

## 获取ServiceInstance对象
$viewSI = Get-View 'ServiceInstance'
## 获取vmprovisioning oningchecker对象
$viewVmProvChecker = Get-View $viewSI.Content.VmProvisioningChecker

## 查询VMotion的兼容性
$viewVmProvChecker.QueryVMotionCompatibilityEx((Get-VM $strMyVMNameToCheck).Id, (Get-VMHost $strMyVMHostNameToCheck).Id)

这将返回一个VMware.Vim.CheckResult对象,该对象具有一个错误和一个警告属性,如果vMotion可能出现问题,则会填充该属性。

然后,从这个示例中,您可以看到如何对一个主机上的所有VM、集群中的所有其他主机执行这样的检查,等等——您可以想到的任何方法。

2.遍历集群中虚拟机

$clusterName = "MyCluster"

$cluster = Get-Cluster -Name $clusterName

$hypervisors = Get-VMHost -Location $cluster

$vms = Get-VM -Location $cluster

 

foreach($vm in $vms){

     # Get the settings to check for this VM(对VM的操作)

     ...

     foreach($esx in $hypervisors){

          # Check the settings in each ESXi(对esxi的操作)

          ...

     }

}

你可能感兴趣的:(vcenter,工作)