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

public VcVirtualMachineConfigureVMwareToolsUpgradePolicy(objVcVirtualMachine: VcVirtualMachine, strDesiredVMwareToolsUpgradePolicy: string): boolean {

    let objVcVirtualMachineConfigInfo: VcVirtualMachineConfigInfo = objVcVirtualMachine.config;

    let objVcToolsConfigInfo: 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}'.`);

    let objVcVirtualMachineConfigSpec: VcVirtualMachineConfigSpec = new VcVirtualMachineConfigSpec();
    objVcVirtualMachineConfigSpec.tools = objVcToolsConfigInfo;

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

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

    return blnReturn;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like