How to know what ESX version is running on your VM
This article describes how to discover the ESX version when we have only access to the VM guest.
When troubleshooting issues, I sometimes need to know the ESX version when my VM’s are running, but in the classic scenario where we don’t have any type of privileges, it is pretty hard to get that information.
So at this point you can go ask the VMware admin, or you can be creative… and we would not be a good troubleshooters if we are not creative!
Basically, we will match the vmwaretools version with the VMware version-mapping file.
1) If we have a VM then we should have VMware tools installed:
# vmware-toolbox-cmd -v
The first 3 chars give us the version crude, in this case I see is: 9.0.5
# vmware-toolbox-cmd -v | cut -d. -f1-3
2) This version is that we need match on VMware version-mapping:
Or from command line:
$ wget -q http://packages.vmware.com/tools/versions -0 vmware-esxi.txt $ grep 9.0.5 vmware-esxi.txt
And there is!
Maybe is not exactly version but 2 steps back we don’t have any idea to the version.
nice workaround but you have to be sure the right version of vmware-tools is running. The message “VMware Tools: Running (Out-of-Date)” is also hard to get without privileges.
“VMware Tools: Running (Out-of-Date)” message appears on the vSphere client, so if you have access to them is more easily get the ESX version 🙂
In this scenario I only have access to the VM, however, even in this way we can check for “oldtools” (or something like that) on the app logs: /tmp/vmware-*
And yes, it could be as regular user.
Thanks for the feedback!
It’s even easier using:
vmware-toolbox-cmd stat raw text session | grep version