Function: vCenter Host System Maintenance Mode

by Simon Sparks · 5 January 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

Function: MaintenanceModeStatus


public MaintenanceModeStatus(objVcHostSystem: VcHostSystem): boolean {

    let objVcHostRuntimeInfo: VcHostRuntimeInfo = objVcHostSystem.runtime;

    let blnInMaintenanceMode: boolean = objVcHostRuntimeInfo.inMaintenanceMode;

    return blnInMaintenanceMode
}
TypeScript

Function: MaintenanceModeEnter

public MaintenanceModeEnter(objVcHostSystem: VcHostSystem, blnEvacuatePoweredOffVms: boolean = true, intTimeoutSeconds: number = 30): void {

    intTimeoutSeconds = intTimeoutSeconds * 1000;

    let objVcVsanHostDecommissionMode: VcVsanHostDecommissionMode = new VcVsanHostDecommissionMode();
    objVcVsanHostDecommissionMode.objectAction = "noAction";

    let objVcHostMaintenanceSpec: VcHostMaintenanceSpec = new VcHostMaintenanceSpec();
    objVcHostMaintenanceSpec.vsanMode = objVcVsanHostDecommissionMode;

    let objVcTask: VcTask = objVcHostSystem.enterMaintenanceMode_Task(intTimeout, blnEvacuatePoweredOffVms, objVcHostMaintenanceSpec);

    this.WaitForVcTaskEnd(objVcTask, 2);
}
TypeScript

Function: MaintenanceModeExit

public MaintenanceModeExit(objVcHostSystem: VcHostSystem): void {

    let intTimeout: number = 300;

    let objVcTask: VcTask = objVcHostSystem.exitMaintenanceMode_Task(intTimeout);

    this.WaitForVcTaskEnd(objVcTask, 2);
}
TypeScript

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like