I am running the following script but it is not working as expected.
$ESXHost = "Test-01.Test.com"
$ResourcePool = Get-VMHost $ESXHost | Get-ResourcePool | Get-View
$vmFolder = Get-View (Get-Datacenter -Name $Datacenter | Get-Folder -Name "vm").id
$vmFolder.RegisterVM_Task("[TIER2_VMSHARED_LASCX02_LUN2017] " + $VMName + "/" + $VMName + ".vmx", $VMName, $false, $ResourcePool.MoRef, $null)
When the script runs it registers the VM on Test-04? Any suggestions?
E4F
The last parameter to RegisterVM_Task is the host where you want the guest to be registered.
You pass $null, so DRS will decide for you.
If you want a specific host, you can do
$ESXHost = "Test-01.Test.com" $esx = Get-VMHost -Name $ESXHost
$ResourcePool = $esx | Get-ResourcePool | Get-View
$vmFolder = Get-View (Get-Datacenter -Name $Datacenter | Get-Folder -Name "vm").id $vmFolder.RegisterVM_Task("[TIER2_VMSHARED_LASCX02_LUN2017] " + $VMName + "/" + $VMName + ".vmx", $VMName, $false, $ResourcePool.MoRef, $esx.Extensiondata.MoRef)
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
The last parameter to RegisterVM_Task is the host where you want the guest to be registered.
You pass $null, so DRS will decide for you.
If you want a specific host, you can do
$ESXHost = "Test-01.Test.com" $esx = Get-VMHost -Name $ESXHost
$ResourcePool = $esx | Get-ResourcePool | Get-View
$vmFolder = Get-View (Get-Datacenter -Name $Datacenter | Get-Folder -Name "vm").id $vmFolder.RegisterVM_Task("[TIER2_VMSHARED_LASCX02_LUN2017] " + $VMName + "/" + $VMName + ".vmx", $VMName, $false, $ResourcePool.MoRef, $esx.Extensiondata.MoRef)
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Thanks, you are the man!