Short answer: compared with ESXi 8.0 U3, the ESX 9.0 ESXCLI reference adds 27 commands and drops 11. The additions are a new licensing namespace, an nsx namespace, NVMe host authentication, duplicate iSCSI sessions and a reorganised vSAN ESA dedup tree. The removals are SLP and WBEM/CIM, which ESX 9.0 no longer ships, plus one deprecated iSER setting. ESX 9.1 adds another 27 commands, led by a new memtier namespace for NVMe memory tiering and iSNS discovery for iSCSI.
Every command and option below comes from Broadcom’s published ESXCLI Command Reference for 8.0.3, 9.0.0 and 9.1.0. I compared the three versions namespace by namespace: 814 commands in 8.0.3, 830 in 9.0.0 and 857 in 9.1.0. What a host actually offers depends on its build and installed VIBs, so check with esxcli --help before you script against a command.
Full lists: ESXCLI commands for ESX 9.0 · ESXi 8.0 · ESXi 7.0 · ESXi shell commands you actually use
ESX 9.0 at a glance
| 8.0.3 | 9.0.0 | 9.1.0 | |
|---|---|---|---|
| Top-level namespaces | 16 | 18 (+ licensing, nsx) | 19 (+ memtier) |
| Commands in the reference | 814 | 830 | 857 |
| Added vs previous | – | 27 | 27 |
| Removed vs previous | – | 11 | 0 |
| Existing commands with changed options | – | 12 | 13 |
New ESXCLI commands in ESX 9.0
The biggest groups are licensing, which manages license credentials and entitlement assignments on the host for the VCF 9 licensing model, and vSAN ESA dedup. The dedup store commands moved from esxcli vsan dedupstore to esxcli vsan dedup dedupstore, next to new object- and space-level commands. Broadcom’s own description of vsan dedup object create says to use it only to replace a corrupted dedup hash object, following a runbook or KB, or with support. Treat that group as support tooling, not day-to-day commands.
| Command (new in 9.0) | What it does |
|---|---|
esxcli iscsi session duplicate add | Add duplicate sessions on current iSCSI configuration |
esxcli iscsi session duplicate list | List duplicate sessions on current iSCSI configuration |
esxcli iscsi session duplicate remove | Remove duplicate sessions on current iSCSI configuration |
esxcli licensing credential add | Add a new license credential |
esxcli licensing credential list | List the installed license credentials |
esxcli licensing credential remove | Remove an existing license credential |
esxcli licensing entitlement add | Adds a new license entitlement assignment |
esxcli licensing entitlement list | Lists the license entitlement assignments |
esxcli licensing entitlement remove | Removes a license entitlement assignment |
esxcli licensing entitlement set | Updates an existing license entitlement assignment |
esxcli nsx services stop | CLI to stop NSX services with tn-delete option |
esxcli nvme auth get | Get NVMe host authentication information |
esxcli nvme auth set | Set NVMe host authentication information |
esxcli nvme device log commandeffects get | Get NVMe commands supported and effects log |
esxcli storage core adapter listdetailed | Detailed listing of all HBAs registered with PSA |
esxcli vsan dedup dedupstore distribution get | Get the dedup store distribution info of vSAN ESA (Express Storage Architecture) cluster |
esxcli vsan dedup dedupstore get | Get vSAN ESA dedup store view |
esxcli vsan dedup dedupstore resync list | Get detailed information of vSAN ESA resyncing dedup objects |
esxcli vsan dedup dedupstore resync summary get | Get summary information of vSAN ESA resyncing dedup objects |
esxcli vsan dedup object create | Create a dedup object |
esxcli vsan dedup object distribution get | Get the chunk objects where the given regular object has data on |
esxcli vsan dedup object reference get | Get the regular objects whose data the given chunk object holds |
esxcli vsan dedup object space get | Get vSAN ESA regular object dedup space efficiency information |
esxcli vsan dedup space get | Get vSAN ESA dedup space efficiency information |
esxcli vsan iscsi vip list | List configured vSAN iSCSI VIPs |
esxcli vsan witness license get | Get vSAN witness license info on the host |
esxcli vsan witness license set | Set vSAN witness license config on the host |
ESXCLI commands removed in ESX 9.0
The VCF 9.0 vSphere product support notes explain most of this list. ESX 9.0 removes CIM, the Small Footprint CIM Broker (SFCB), WSMan and the OpenSLP stack, which were deprecated in 8.0, and CIM providers for ESX 8.x and earlier aren’t supported on 9.0. Any script or monitoring check that calls esxcli system slp or esxcli system wbem fails on a 9.0 host. If hardware monitoring relied on CIM, ask the server vendor for a replacement.
| Command (gone in 9.0) | Replacement / reason |
|---|---|
esxcli rdma iser params set | Was already marked deprecated in 8.0.3 |
esxcli system slp get | OpenSLP stack removed in ESX 9.0 |
esxcli system slp search | OpenSLP stack removed in ESX 9.0 |
esxcli system slp set | OpenSLP stack removed in ESX 9.0 |
esxcli system slp stats get | OpenSLP stack removed in ESX 9.0 |
esxcli system wbem get | CIM/SFCB and WSMan removed in ESX 9.0 |
esxcli system wbem provider list | CIM/SFCB and WSMan removed in ESX 9.0 |
esxcli system wbem provider set | CIM/SFCB and WSMan removed in ESX 9.0 |
esxcli system wbem set | CIM/SFCB and WSMan removed in ESX 9.0 |
esxcli vsan dedupstore distribution get | Moved to esxcli vsan dedup dedupstore … |
esxcli vsan dedupstore get | Moved to esxcli vsan dedup dedupstore … |
Existing commands with new or removed options (8.0 U3 → 9.0)
These commands keep their name but their options changed. The removals matter most for scripts. For example, esxcli system health report get no longer lists --all-reports in 9.0.
| Command | Options added in 9.0 | Options removed |
|---|---|---|
esxcli iscsi adapter discovery statictarget remove | --force | -f | – |
esxcli network ip interface set | --urpf | -u | – |
esxcli network ip netstack set | --ip-strong-es | -i | – |
esxcli nvme device namespace list | --namespace | -n | – |
esxcli storage core adapter list | --adapter | -a | – |
esxcli system health report get | – | --all-reports |
esxcli vsan cluster join | --client-network | -n | – |
esxcli vsan cluster new | --client-network | -n | – |
esxcli vsan cluster unicastagent add | --traffic-type | -F | – |
esxcli vsan debug object list | --dedup-obj-type | – |
esxcli vsan storagepool unmount | --evacuation-reason | -r | – |
esxcli vsan vdx create | --backing-type | -b, --fs-type | -t | – |
New in ESX 9.1: memtier and more
The 9.1 reference adds a top-level memtier namespace to enable, configure and check NVMe memory tiering. The 9.0 reference has no memory-tiering namespace. For what memory tiering is and how it behaves, see NVMe memory tiering in vSphere 9.0. 9.1 also adds iSNS discovery for software iSCSI, NVMe flexible data placement, NFS restore commands and NFSv4.1 Kerberos credential commands. Nothing was removed between 9.0 and 9.1.
| Command (new in 9.1) | What it does |
|---|---|
esxcli iscsi adapter discovery isns add | Add iSNS discovery address |
esxcli iscsi adapter discovery isns list | List iSNS discovery addresses |
esxcli iscsi adapter discovery isns param get | Get parameters on iSNS discovery address |
esxcli iscsi adapter discovery isns param set | Set iSNS discovery parameters |
esxcli iscsi adapter discovery isns remove | Remove iSNS discovery address |
esxcli iscsi adapter isnsparam get | Get the iSNS parameters for the iSCSI Host Bus Adapter |
esxcli iscsi adapter isnsparam set | Set the iSNS parameter for the iSCSI Host Bus Adapter |
esxcli licensing registration get | Show details about license registration |
esxcli memtier config delete | Delete the memory tiering configuration |
esxcli memtier config get | Get the memory tiering configuration |
esxcli memtier config set | Set the memory tiering configuration |
esxcli memtier device list | List memory tiering devices |
esxcli memtier disable | Disable memory tiering |
esxcli memtier enable | Enable memory tiering |
esxcli memtier status get | Show the currently deployed Memory Tiering configuration |
esxcli nvme device feature fdp get | Get NVMe device feature flexible data placement information |
esxcli nvme device feature fdp set | Set NVMe device feature flexible data placement information |
esxcli rdma device sniffer get | Get RDMA device sniffer settings |
esxcli rdma device sniffer set | Set RDMA device sniffer settings |
esxcli storage nfs restore | Restore previously mounted NFSv3 volumes |
esxcli storage nfs41 credential get | Get NFSv4.1 kerberos default user credentials |
esxcli storage nfs41 credential set | Set NFSv4.1 kerberos default user credentials |
esxcli storage nfs41 credential unset | Unset NFSv4.1 kerberos default user credentials |
esxcli storage nfs41 restore | Restore previously mounted NFS41 volumes |
esxcli storage osdata get | Get OSData information |
esxcli vsan dedup scan get | Get vSAN ESA dedup scanner information |
esxcli vsan maintenancemode recommission | Recommission vSAN node, the command only set vSAN decommission state to non-decommissioned but not set host… |
Option changes between 9.0 and 9.1. Note that esxcli vsan vdx create replaced three of its options and esxcli storage core claimrule add lost --if-unset:
| Command | Options added in 9.1 | Options removed |
|---|---|---|
esxcli nvme device namespace create | --anagrpid | -a, --endgid | -e, --lbstm | -l, --nvmsetid | -N, --phl | -P | – |
esxcli software apply | --skip-reserved-vibs-caching | – |
esxcli software profile install | --skip-reserved-vibs-caching | – |
esxcli software profile update | --skip-reserved-vibs-caching | – |
esxcli storage core claimrule add | – | --if-unset |
esxcli storage nfs param set | --force | -f, --resolve-hostname | -r | – |
esxcli storage nfs41 param set | --force | -f, --resolve-hostname | -r | – |
esxcli system health report get | – | --filename | -f |
esxcli vsan health cluster list | --perspective | -p | – |
esxcli vsan network security set | --is-server-cluster | -s, --transition-state | -t | – |
esxcli vsan trace get | --prettyjson | -p | – |
esxcli vsan trace set | --configs | -c | – |
esxcli vsan vdx create | --disk-path | -d | --backing-type | -b, --disk-folder | -f, --disk-name | -d |
Checking a host yourself
Broadcom notes that the list of commands depends on the system you run it on. To see what a specific host supports, and to compare a host before and after an upgrade, use ESXCLI’s built-in introspection:
# Every namespace and command this host knows
esxcli esxcli command list
# Help for one namespace or command
esxcli licensing --help
esxcli system health report get --help
# Save the list before and after an upgrade, then diff the two files
esxcli esxcli command list > /tmp/esxcli-before.txt
Copy the output files off the host, for example with scp, and compare them with diff. That also catches commands that come from vendor VIBs, which Broadcom’s reference doesn’t list.
What to update in your scripts
- Remove or guard any call to
esxcli system slp …andesxcli system wbem …before you upgrade hosts to 9.0. - Change
esxcli vsan dedupstore …toesxcli vsan dedup dedupstore …. - Check scripts that pass
--all-reportstoesxcli system health report get(gone in 9.0) or--filename(gone in 9.1). - Scripts using
esxcli vsan vdx createneed the new options on 9.1. - On VCF 9 hosts, license through the new
esxcli licensingcommands (credentials and entitlements).
Sources
- Broadcom ESXCLI Command Reference 9.0.0
- ESXCLI Command Reference 9.1.0 (latest)
- ESXCLI Command Reference 8.0.3
- VCF 9.0 Release Notes: vSphere product support notes