Orchestrator Function: VcVirtualMachineUnmountISO

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 VcVirtualMachineUnmountISO(objVcVirtualMachine: VcVirtualMachine): boolean {

    let arrVcVirtualCdrom: VcVirtualCdrom[] = this.VcVirtualMachineGetVcVirtualCdroms(objVcVirtualMachine);

    let objVcVirtualDeviceConnectInfo: VcVirtualDeviceConnectInfo = new VcVirtualDeviceConnectInfo();
    objVcVirtualDeviceConnectInfo.allowGuestControl = true;
    objVcVirtualDeviceConnectInfo.connected = false;
    objVcVirtualDeviceConnectInfo.startConnected = false;

    let objVcVirtualCdromRemotePassthroughBackingInfo: VcVirtualCdromRemotePassthroughBackingInfo = new VcVirtualCdromRemotePassthroughBackingInfo();
    objVcVirtualCdromRemotePassthroughBackingInfo.deviceName = "";

    let objVcVirtualCdrom: VcVirtualCdrom = arrVcVirtualCdrom[0];
    objVcVirtualCdrom.connectable = objVcVirtualDeviceConnectInfo;
    objVcVirtualCdrom.backing = objVcVirtualCdromRemotePassthroughBackingInfo;

    let objVcVirtualDeviceConfigSpec: VcVirtualDeviceConfigSpec = this.VcVirtualDeviceConfigSpecCreate(objVcVirtualCdrom, VcVirtualDeviceConfigSpecOperation.edit);

    let arrVcVirtualDeviceConfigSpec: VcVirtualDeviceConfigSpec[] = [];
    arrVcVirtualDeviceConfigSpec.push(objVcVirtualDeviceConfigSpec);

    let objVcVirtualMachineConfigSpec: VcVirtualMachineConfigSpec = new VcVirtualMachineConfigSpec();
    objVcVirtualMachineConfigSpec.deviceChange = arrVcVirtualDeviceConfigSpec;

    try {
        let objVcTask: VcTask = this.VcVirtualMachineReconfigureNoWaitForVcTaskEnd(objVcVirtualMachine, objVcVirtualMachineConfigSpec);

        this.WaitForVcTaskEndOrVirtualMachineQuestionEntry(objVcTask, 1, objVcVirtualMachine);

        return true;
    } catch (objException) {
        Utilities.logException(objException, this.objLogger, "VcVirtualMachineUnmountISO");

        return false;
    }
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like