This historical lab example shows how I updated an ESXi 7.0 host from the command line when I could not use the UI. Broadcom has retired the original public depot, so its executable URL has been removed and the preserved example below uses an offline-bundle variable. ESXi 7 also reached End of General Support on October 2, 2025.
Prepare the Host and Enter Maintenance Mode
Broadcom’s current esxcli patching procedure requires the ESXi host to be in maintenance mode before esxcli software profile update.
Before continuing:
- Confirm that the target image, server firmware, hardware, vCenter Server and integrated products are compatible, and use an OEM image when the hardware vendor requires one.
- Back up the ESXi host configuration and verify the recovery path.
- Migrate or shut down every user VM. DRS can evacuate workloads when configured; do not manually power off or migrate vCLS VMs unless Broadcom Support directs you to do so.
- Confirm that the remaining hosts can satisfy the intended vSphere HA failover policy while this host is unavailable.
- For vSAN, verify health and object compliance, confirm there are no active resynchronizations, select the appropriate data-migration mode, and wait for evacuation to finish. Do not choose No data migration without understanding the availability risk.
- For an NSX-prepared host, follow the matching NSX kernel-module requirements in Broadcom KB 312013. Use the supported VCF lifecycle workflow for a VCF-managed host.
Enter maintenance mode from the vSphere Client, then verify it from the ESXi shell:
vim-cmd hostsvc/hostsummary | grep inMaintenanceMode
Continue only when the result is true. Unless the validated design explicitly supports parallel remediation, patch one host at a time.
Select the Historical Profile from an Offline Bundle
The original walkthrough selected the pinned ESXi-7.0b-16324942-standard profile. If an entitled account can still obtain the matching artifact, upload the offline depot bundle to a datastore, set its path and list its exact contents:
OFFLINE_BUNDLE='/vmfs/volumes/DATASTORE/updates/ESXI_7_DEPOT_BUNDLE.zip'
esxcli software sources profile list -d "$OFFLINE_BUNDLE"
Do not substitute a profile merely because it appears newer. Use the approved upgrade path and exact target. For a current token-authenticated online workflow, see Updating ESXi with the Authenticated Broadcom Depot or an Offline Bundle.
Apply the Selected Profile
After validating the exact profile name and compatibility, review a dry run and then apply the update:
esxcli software profile update --dry-run -p ESXi-7.0b-16324942-standard -d "$OFFLINE_BUNDLE"
Only after the dry-run output is clean should the live update be run separately:
esxcli software profile update -p ESXi-7.0b-16324942-standard -d "$OFFLINE_BUNDLE"
Reboot the Host
If the update reports that a reboot is required, reboot the host while it remains in maintenance mode:
esxcli system shutdown reboot -r 'apply ESXi profile update'
Validate and Exit Maintenance Mode
After the host has finished booting, confirm the version and active image profile. Validate management networking, storage paths and cluster health before returning it to service:
vmware -vl
esxcli software profile get
For a vSAN host, wait for any post-reboot resynchronization and confirm object health. For an NSX-prepared host, confirm transport-node and datapath status. When validation succeeds, exit maintenance mode from the vSphere Client or run:
vim-cmd /hostsvc/maintenance_mode_exit
If the update fails partway through with a “No space left on device” message, I covered the fix in this post.