Orchestrator Workflow Action to Upgrade VMware Tools and Virtual Machine Hardware

by Simon Sparks · 24 April 2014

The following code is the Orchestrator Workflow Script to Upgrade VMware Tools and Virtual Machine Hardware

var objModule = System.getModule("com.cloudbuildtools");

var objVcComputeResource;

var objVcResourcePool = objVcComputeResource.resourcePool;

var arrVcVirtualMachine = objVcResourcePool.vm;

for ( var i = 0; i < arrVcVirtualMachine.length; i++ )
{
	var objVcVirtualMachine = arrVcVirtualMachine[i];
	
	var objVcEnvironmentBrowser = objVcVirtualMachine.environmentBrowser;

	var objVcVirtualMachineSummary = objVcVirtualMachine.summary;

	var objVcVirtualMachineGuestSummary = objVcVirtualMachineSummary.guest;

	var strVMwareToolsVersionStatus = objVcVirtualMachineGuestSummary.toolsVersionStatus;
	
	var strVMwareToolsVersionStatus2 = objVcVirtualMachineGuestSummary.toolsVersionStatus2;

//	if ( ( strVMwareToolsVersionStatus == "guestToolsNeedUpgrade" ) || ( strVMwareToolsVersionStatus == "guestToolsNotInstalled" ) )
	if ( ( strVMwareToolsVersionStatus2 == "guestToolsNeedUpgrade" ) || ( strVMwareToolsVersionStatus2 == "guestToolsNotInstalled" ) )
	{
		objVcVirtualMachine.mountToolsInstaller();
		
		var objVcTask = objVcVirtualMachine.upgradeTools_Task('/s /v"/qn REBOOT=ReallySuppress"');
		
		objModule.WaitForVcTask(objVcTask);
		
		objVcVirtualMachine.unmountToolsInstaller();
	}

	var objVirtualMachineConfigOption = objVcEnvironmentBrowser.queryConfigOption();

	var objVcVirtualHardwareOption = objVirtualMachineConfigOptionhardwareOptions;
	
	var intHardwareVersion = objVcVirtualHardwareOption.hwVersion;

	if ( intHardwareVersion < 9 ) 
	{
		var objVcTask = objVcVirtualMachine.upgradeVM_Task("vmx-09");

		objModule.WaitForVcTask(objVcTask);
	}
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like