VMware Orchestrator script that adds a virtual machine to a DRS group

by

Script is below

// Get a reference to the vCenter server
var vcHost = Server.findForType("VC");

// Get a reference to the DRS cluster
var drsCluster = vcHost.drsCluster;

// Get a reference to the virtual machine
var vm = VcPlugin.convertToVimManagedObject(virtualMachine);

// Get a reference to the DRS group
var drsGroup = drsCluster.configurationEx.rule.length > 0 ? drsCluster.configurationEx.rule[0] : null;

// If a DRS group exists, add the virtual machine to it
if (drsGroup != null) {
  var vmId = vm.id;
  var vmName = vm.name;
  var vmMor = new VcManagedObjectReference("VirtualMachine", vmId);
  var vmGroup = new VcClusterGroupVmGroup(vmMor, vmName);
  drsGroup.spec.vmGroup.push(vmGroup);
  drsCluster.reconfigureComputeResource_Task(drsCluster.configurationEx);
}

This script first gets a reference to the vCenter server, the DRS cluster, and the virtual machine you want to add to the DRS group. It then checks if a DRS group already exists in the cluster, and if so, it creates a new VcClusterGroupVmGroup object representing the virtual machine and adds it to the group’s vmGroup array.

Finally, the script calls drsCluster.reconfigureComputeResource_Task() to update the DRS cluster’s configuration and add the virtual machine to the DRS group.

Note that this is just a basic example script, and you may need to modify it to fit your specific requirements.

Leave a Reply

Your email address will not be published. Required fields are marked *