Function: vCenter Virtual Machine Upgrade VMware Tools

by Simon Sparks · 24 April 2021

To use this function add it to the class library file named vCenterServerService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: vCenterServerService.ts

Function VcVirtualMachineUpgradeVMwareTools

Description: Orchestrator Function to Upgrade VMware Tools

public VcVirtualMachineUpgradeVMwareTools(objVcClusterComputeResource:VcClusterComputeResource) : void {

  let objVcResourcePool:VcResourcePool = objVcComputeResource.resourcePool;
  
  let arrVcVirtualMachine:VcVirtualMachine[] = objVcResourcePool.vm;
  
  arrVcVirtualMachine.forEach((objVcVirtualMachine:VcVirtualMachine) => {
      
  	let objVcVirtualMachineSummary:VcVirtualMachineSummary = objVcVirtualMachine.summary;
  
  	let objVcVirtualMachineGuestSummary:VcVirtualMachineGuestSummary = objVcVirtualMachineSummary.guest;
  
  	let strVMwareToolsVersionStatus2:string = objVcVirtualMachineGuestSummary.toolsVersionStatus2;
  
  	if ( ( strVMwareToolsVersionStatus2 == "guestToolsNeedUpgrade" ) || ( strVMwareToolsVersionStatus2 == "guestToolsNotInstalled" ) )
  	{
  		objVcVirtualMachine.mountToolsInstaller();
  		
  		let strArguments:string = '/s /v"/qn REBOOT=ReallySuppress"';
  		
  		let objVcTask:VcTask = objVcVirtualMachine.upgradeTools_Task(strArguments);
  		
  		this.WaitForVcTask(objVcTask, 1);
  		
  		objVcVirtualMachine.unmountToolsInstaller();
  	}
  
  });
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like