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的操作)

          ...

     }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章