Orchestrator Function: vCenter Virtual Machine Configure VMware Tools Upgrade Policy

by Simon Sparks · 5 January 2026

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

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

Filename: vCenterServerService.ts

publicVcVirtualMachineConfigureVMwareToolsUpgradePolicy(objVcVirtualMachine:VcVirtualMachine,strDesiredVMwareToolsUpgradePolicy:string):boolean{

letobjVcVirtualMachineConfigInfo:VcVirtualMachineConfigInfo=objVcVirtualMachine.config;

letobjVcToolsConfigInfo:VcToolsConfigInfo=objVcVirtualMachineConfigInfo.tools;
objVcToolsConfigInfo.toolsUpgradePolicy=strDesiredVMwareToolsUpgradePolicy;
objVcToolsConfigInfo.beforeGuestShutdown=true;
objVcToolsConfigInfo.beforeGuestReboot=true;
objVcToolsConfigInfo.syncTimeWithHost=false;
objVcToolsConfigInfo.upgradeRebootPredict=true;
objVcToolsConfigInfo.beforeGuestStandby=true;
objVcToolsConfigInfo.afterResume=true;
objVcToolsConfigInfo.afterPowerOn=true;

if (objVcToolsConfigInfo.toolsUpgradePolicy===strDesiredVMwareToolsUpgradePolicy){
this.objLogger.info(`VMware Tools upgrade policy is already set to '${strDesiredVMwareToolsUpgradePolicy}'. No changes needed.`);
return;
}

this.objLogger.info(`Current VMware Tools upgrade policy is '${objVcToolsConfigInfo.toolsUpgradePolicy}'. Updating to '${strDesiredVMwareToolsUpgradePolicy}'.`);

letobjVcVirtualMachineConfigSpec:VcVirtualMachineConfigSpec=newVcVirtualMachineConfigSpec();
objVcVirtualMachineConfigSpec.tools=objVcToolsConfigInfo;

letblnReturn:boolean=this.VcVirtualMachineReconfigure(objVcVirtualMachine,objVcVirtualMachineConfigSpec);

this.objLogger.info(`Successfully set VMTools upgrade policy to '${strDesiredVMwareToolsUpgradePolicy}'.`);

returnblnReturn;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like