In the vSphere client you can edit a VM’s advanced settings only while it is powered off.
However, with a PowerCLI script you can do that on a running VM. And to make the change effective you just need to vMotion the VM to another host!

Here is a PowerCLI script sample:
Connect-VIServer name-of-vcenter-server-or-esx-host
$vm = Get-View (Get-VM NameofVMtoUpdate).ID
$CfgSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$CfgSpec.extraconfig = New-Object VMware.Vim.optionvalue
# you can use any advanced setting key/value pair here:
$CfgSpec.extraconfig[0].Key="sched.scsi0:0.throughputCap"
$CfgSpec.extraconfig[0].Value="1KIOps"
$vm.ReconfigVM($CfgSpec)

Advertisements