Function: vCenter Virtual Machine Hardening Toggle

by Simon Sparks · 22 March 2026

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

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

Filename: PluginVCHostSystemService.ts

Description: Orchestrator Function to Toggle Hardening on a vCenter Virtual Machine

Public Function: HardeningEnable

public HardeningEnable(obVcVirtualMachine: VcVirtualMachine): boolean {

    let blnResult: boolean = this.HardeningToggle(obVcVirtualMachine, true);

    return blnResult;
}

Public Function: HardeningDisable

public HardeningDisable(obVcVirtualMachine: VcVirtualMachine): boolean {

    let blnResult: boolean = this.HardeningToggle(obVcVirtualMachine, false);

    return blnResult;
}

Private Function: HardeningToggle

private HardeningToggle(obVcVirtualMachine: VcVirtualMachine, blnEnable: boolean): boolean {

    let objProperties: Properties = new Properties();
    objProperties.put("tools.setinfo.sizeLimit", 1048576);
    objProperties.put("RemoteDisplay.maxConnections", 2);
    objProperties.put("vmsafe.enable", !blnEnable);
    objProperties.put("RemoteDisplay.vnc.enabled", !blnEnable);
    objProperties.put("isolation.tools.setGUIOptions.enable", !blnEnable);

    objProperties.put("isolation.device.edit.disable", blnEnable);
    objProperties.put("isolation.device.connectable.disable", blnEnable);
    objProperties.put("isolation.tools.ghi.autologon.disable", blnEnable);
    objProperties.put("isolation.bios.bbs.disable", blnEnable);
    objProperties.put("isolation.ghi.host.shellAction.disable", blnEnable);
    objProperties.put("isolation.tools.ghi.protocolhandler.info.disable", blnEnable);
    objProperties.put("isolation.tools.unity.taskbar.disable", blnEnable);
    objProperties.put("isolation.tools.unityActive.disable", blnEnable);
    objProperties.put("isolation.tools.unity.windowContents.disable", blnEnable);
    objProperties.put("isolation.tools.unity.push.update.disable", blnEnable);
    objProperties.put("isolation.tools.vmxDnDVersionGet.disable", blnEnable);
    objProperties.put("isolation.tools.guestDnDVersionSet.disable", blnEnable);
    objProperties.put("isolation.tools.dispTopoRequest.disable", blnEnable);
    objProperties.put("isolation.tools.trashFolderState.disable", blnEnable);
    objProperties.put("isolation.tools.ghi.trayicon.disable", blnEnable);
    objProperties.put("isolation.tools.unity.disable", blnEnable);
    objProperties.put("isolation.tools.unityInterlockOperation.disable", blnEnable);
    objProperties.put("isolation.tools.getCreds.disable", blnEnable);
    objProperties.put("isolation.tools.hgfsServerSet.disable", blnEnable);
    objProperties.put("isolation.tools.ghi.launchmenu.change", blnEnable);
    objProperties.put("isolation.tools.memSchedFakeSampleStats.disable", blnEnable);
    objProperties.put("isolation.tools.copy.disable", blnEnable);
    objProperties.put("isolation.tools.dnd.disable", blnEnable);
    objProperties.put("isolation.tools.paste.disable", blnEnable);

    let arrVcOptionValue: VcOptionValue[] = this.ConvertPropertiesToVcOptionValueArray(objProperties);

    try {
        this.ReconfigureExtraConfig(obVcVirtualMachine, arrVcOptionValue);

        return true;
    }
    catch (objException) {
        return false;
    }
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like