As VMs get upgraded to newer OSes the VM Guest OS setup on the ESXi hosts migth no longer be the same as the OS version the VM is running (i.e. VM got upgraded from Win 7 to 10 but ESXi host still thinks it is running 7).
Here is a one liner that shows what is set and what is actually there:
Get-View -ViewType "VirtualMachine" -Property @("Name", "Config.GuestFullName", "Guest.GuestFullName") | Where-Object {($_.Config.GuestFullName -ne $_.Guest.GuestFullName) -and ($_.Guest.GuestFullName -ne $null)} | Select-Object -Property Name, @{N="Configured OS";E={$_.Config.GuestFullName}}, @{N="Running OS";E={$_.Guest.GuestFullName}} | Format-Table -AutoSize
The output look something like that:
Name Configured OS Running OS ---- ------------- ---------- win2K Microsoft Windows 2000 Server Microsoft Windows 2000 Professional RH3 Red Hat Enterprise Linux 3 (32-bit) Red Hat Enterprise Linux 3 (64-bit) suse51 SUSE Linux Enterprise 11 (64-bit) SUSE Linux Enterprise 12 (64-bit)