VMware vSphere

 View Only

Expand all | Collapse all

Get ESXI version using guest operating system

  • 1.  Get ESXI version using guest operating system

    Posted Nov 28, 2016 08:11 AM

    Hi,

    I am trying to find the esxi version using guest operating system using Linux and windows.

    I am trying vmware tools installation automatically using puppet. I will keep files in centralized http server and make them available to all the clients in this case all VMware guest operating system. We have to  install vmware tools based on ESXI version so before I am pulsing different version of vmware tools I want to make sure whether guest operating is running on ESXI 5, 5.1, 5.5, 6.0. If i able fetch esxi version using guest operating system then my job will be easy. Please help



  • 2.  RE: Get ESXI version using guest operating system

    Posted Nov 28, 2016 09:59 AM

    ssh to the ESXi and run the following command:

    vmware -vl



  • 3.  RE: Get ESXI version using guest operating system

    Posted Nov 28, 2016 02:13 PM

    Hi Try Below option

    1. 

    if you have Host Details on the vm properties you can get form below command

    vmtoolsd.exe --cmd "info-get guestinfo.hypervisor.hostname

    Else add the entry and try # from its advance properties

    guestinfo.hypervisor.hostname = esxi hostname

    vmtoolsd.exe "info-get guestinfo.hypervisor.hostname

    Path of the VMtools

    UNIX/Linux - /usr/bin/vmtoolsd

    Windows - C:\Program Files\VMware\VMware Tools\vmtoolsd.exe

    2.

    Try from POwer CLI to get all ESXI host infomration using below script

    Connect-VIServer $vCenter

    $vmhosts = get-vmhost *

    $vmhosts | Sort Name -Descending | % { $server = $_ |get-view; `

        $server.Config.Product | select `

        @{ Name = "Server Name"; Expression ={ $server.Name }}, `

        Name, Version, Build, FullName, ApiVersion }

    3.

    Connect ESXi through Putty and  use below command

    vmware  -vvv

    Or Download  RVtools  and access vcenter get the complete information



  • 4.  RE: Get ESXI version using guest operating system

    Posted Nov 29, 2016 03:33 AM

    Hi Raj & pradeepjigalur,

    I want to pull ESXI version  info from guest operating system before installing vmware tools. Is this Possible?



  • 5.  RE: Get ESXI version using guest operating system

    Posted Nov 29, 2016 06:43 AM

    this is straightforward just do ssh and run the command: vmware -vl



  • 6.  RE: Get ESXI version using guest operating system

    Posted Nov 29, 2016 07:08 AM

    Am per my understanding it is not possible from GOS without tools .



  • 7.  RE: Get ESXI version using guest operating system

    Posted Nov 29, 2016 06:58 AM

    HI pradeepjigalur,

    I want to pull this info from Guest operating system only not from ESXI host. The main intention for this is i will keep all version of vmware tools in centralized server like any nfs or http and make them available. So guest operating OS will find the ESXI version and download from centralized server and install. All this process is done automation and  For some times we wont have permission to login ESXI host.

    Thanks,



  • 8.  RE: Get ESXI version using guest operating system

    Posted Dec 19, 2019 03:49 PM

    Hi!

    For linux guest OS the solution is (found here - Determine VMWare ESX version from Linux as guest OS | Frits Hoogland Weblog ):

    #/bin/bash

    case $( dmidecode | grep -A4 "BIOS Information" | grep Address | awk '{ print $2 }' ) in

    "0xE8480" ) echo "ESX 2.5" ;;

    "0xE7C70" ) echo "ESX 3.0" ;;

    "0xE7910" ) echo "ESX 3.5" ;;

    "0xE7910" ) echo "ESX 4"  ;;

    "0xEA550" ) echo "ESX 4U1" ;;

    "0xEA2E0" ) echo "ESX 4.1" ;;

    "0xE72C0" ) echo "ESXi 5"  ;;

    "0xEA0C0" ) echo "ESXi 5.1" ;;

    "0xEA050" ) echo "ESXi 5.5" ;;

    "0xEA580" ) echo "ESXi 6.5" ;;

    * ) echo "Unknown version: "

    dmidecode | grep -A4 "BIOS Information"

    ;;

    esac



  • 9.  RE: Get ESXI version using guest operating system

    Posted May 06, 2020 08:21 AM

    Hi, I added the code for ESXi 6.7 U2:

    #/bin/bash

    case $( dmidecode | grep -A4 "BIOS Information" | grep Address | awk '{ print $2 }' ) in

       "0xE8480" ) echo "ESX 2.5" ;;

       "0xE7C70" ) echo "ESX 3.0" ;;

       "0xE7910" ) echo "ESX 3.5" ;;

       "0xEA6C0" ) echo "ESX 4" ;;

       "0xEA550" ) echo "ESX 4U1" ;;

       "0xEA2E0" ) echo "ESX 4.1" ;;

       "0xE72C0" ) echo "ESXi 5" ;;

       "0xEA0C0" ) echo "ESXi 5.1" ;;

       "0xEA050" ) echo "ESXi 5.5" ;;

       "0xE9A40" ) echo "ESXi 6" ;;

       "0xEA580" ) echo "ESXi 6.5" ;;

       "0xEA520" ) echo "ESXi 6.7" ;;

       "0xEA490" ) echo "ESXi 6.7U2" ;;

       *         ) echo "Unknown version: "

                   dmidecode | grep -A4 "BIOS Information" ;;

    esac



  • 10.  RE: Get ESXI version using guest operating system

    Posted Jul 08, 2020 07:15 PM

    Has anyone determined what the Address is for vSphere 7?

    I have 0xEA480 just wanted to make sure that is correct.

    Thanks!



  • 11.  RE: Get ESXI version using guest operating system

    Posted Jul 08, 2020 07:43 PM

    I confirm, I also get the result 0xEA480 on ESXi 7.0.

    - Andreas



  • 12.  RE: Get ESXI version using guest operating system

    Posted Jul 08, 2020 08:09 PM

    Greetings,

    you can find out the ESXi host version and build by using the VMwareToolBoxCmd.exe CLI tool in Windows, resp. the vmware-toolbox-cmd command in Linux like this:

       VMwareToolboxCmd.exe stat raw text session

    It will output something like

    session = 2716688027286866142

    uptime = 29957302559

    version = VMware ESX 7.0.0 build-15843807

    provider =

    uuid.bios = 42 1a a2 f8 f8 1c 54 de-e9 7b c7 36 f1 ee 5d 9c

    Instead of "text" you can also use "'json", "xml" or "yaml" to format the output in other ways.

    And you can also use the CLI tools *without* installing them. E.g. on Windows it is sufficient to copy the VMwareToolBoxCmd.exe executable together with some DLLs (glib-2.0.dll, intl.dll, pcre.dll, vmtools.dll) into a directory (e.g. on a network share) and call it from there.

    In Linux a similar approach should work.

    - Andreas