Orchestrator Functions: VcVirtualMachine(Enable/Disable)TPM

by Simon Sparks · January 5, 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 VcVirtualMachineEnableTPM(objVcVirtualMachine: VcVirtualMachine): boolean {

    let objVcDescription: VcDescription = new VcDescription();
    objVcDescription.summary = 'Trusted Platform Module';
    objVcDescription.label = 'Trusted Platform Module';

    //@ts-ignore
    let objVcVirtualTPM: VcVirtualTPM = new VcVirtualTPM();
    objVcVirtualTPM.deviceInfo = objVcDescription;
    objVcVirtualTPM.key = -102;

    let objVcVirtualDeviceConfigSpec: VcVirtualDeviceConfigSpec = this.VcVirtualDeviceConfigSpecCreate(objVcVirtualTPM, VcVirtualDeviceConfigSpecOperation.add);

    let blnResult: boolean = this.VcVirtualMachineReconfigureDevice(objVcVirtualMachine, objVcVirtualDeviceConfigSpec);

    return blnResult;
}

public VcVirtualMachineDisableTPM(objVcVirtualMachine: VcVirtualMachine): boolean {

    let arrVcVirtualDevice: VcVirtualDevice[] = this.VcVirtualMachineGetAllVcVirtualDevices(objVcVirtualMachine);

    //@ts-ignore
    let objVcVirtualTPM: VcVirtualTPM = arrVcVirtualDevice.find((objVcVirtualDevice: VcVirtualDevice): boolean => {

        //@ts-ignore
        return objVcVirtualDevice instanceof VcVirtualTPM && objVcVirtualDevice.deviceInfo.label === 'Trusted Platform Module';

    });

    let objVcVirtualDeviceConfigSpec: VcVirtualDeviceConfigSpec = this.VcVirtualDeviceConfigSpecCreate(objVcVirtualTPM, VcVirtualDeviceConfigSpecOperation.remove);

    let blnResult: boolean = this.VcVirtualMachineReconfigureDevice(objVcVirtualMachine, objVcVirtualDeviceConfigSpec);

    return blnResult;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like