# Change VM config to upgrade vmwaretools at next powercycle.
# Change upgradeatpowercycle to manual to revert changes
$vms = get-vmhost "yourESXhost" | get-vm
ForEach($vm in $vms) {
$vm_view = $vm | get-view
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
$vmConfigSpec.Tools.ToolsUpgradePolicy = “UpgradeAtPowerCycle”
$vm_view.ReconfigVM_Task($vmConfigSpec)
}
# Change upgradeatpowercycle to manual to revert changes
$vms = get-vmhost "yourESXhost" | get-vm
ForEach($vm in $vms) {
$vm_view = $vm | get-view
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
$vmConfigSpec.Tools.ToolsUpgradePolicy = “UpgradeAtPowerCycle”
$vm_view.ReconfigVM_Task($vmConfigSpec)
}