¿Cómo puedo determinar de manera confiable la versión de hardware de un VMWare Guest desde el interior del invitado?

¿Cómo puedo determinar de manera confiable la versión de hardware de un VMWare Guest desde el interior del invitado?

Estoy intentando determinar la versión de "hardware" de numerosas máquinas virtuales VMWare. No tengo acceso a la consola de vSphere.

El servicio VMWare Tools está instalado y C:\Program Files\VMWare\VMWare Tools\vmtoolsd.exe --cmd "info-get"parece prometedor, sin embargo, no puedo encontrar ningún detalle sobre qué nombre de clave especificar.

¿Existe algún otro método, como consultar las versiones del controlador de dispositivo VMWare o tal vez una wmicconsulta?

Respuesta1

En teoría, lo que estás pidiendo debería ser posible.

sin embargo, parece que VMWare no lo implementa particularmente bien.

Las opciones extendidas deberían poder consultarse desde el invitado con VMToolsd.exe disponible, como usted dice correctamente. Sin embargo, no parece funcionar.

vmtoolsd.exe --cmd "info-get virtualHW.version"

Debería devolver la versión de hardware contenida en el archivo vmx, pero no es así.

una publicación en este hilo de simonbaev parece resaltar un problema que requiere cambios en el nivel del hipervisor para permitir que el invitado consulte esta información: https://communities.vmware.com/message/2184934

$ vmware-cmd --config esxi-24 "[DS_104.24_150] LTSP2/LTSP2.vmx" setguestinfo myTest "hello world"  
setguestinfo(myTest hello world) = 1  
$ vmware-cmd --config esxi-24 "[DS_104.24_150] LTSP2/LTSP2.vmx" getguestinfo myTest  
getguestinfo(myTest) = hello world  
$ vmtoolsd --cmd "info-get guestinfo.myTest"  
No value found  
$ vmtoolsd --cmd "info-get myTest"  
Invalid key name supplied  
$ vmware-cmd --config esxi-24 "[DS_104.24_150] LTSP2/LTSP2.vmx" setguestinfo guestinfo.myTest "bla-bla-bla"  
setguestinfo(guestinfo.myTest bla-bla-bla) = 1  
$ vmware-cmd --config esxi-24 "[DS_104.24_150] LTSP2/LTSP2.vmx" getguestinfo guestinfo.myTest  
getguestinfo(guestinfo.myTest) = bla-bla-bla  
$ vmtoolsd --cmd "info-get guestinfo.myTest"  
bla-bla-bla  

Lo que significa que necesitaría ayuda de su equipo de virtualización para que esa información se muestre cuando la necesite.

Sin embargo, en ese momento, también puede hacer que ejecuten un script para extraer esa información de una manera que no requiera que pirateen los archivos de configuración de todos sus servidores de producción (y probablemente también tengan que reiniciar todo).

por ejemplo, en PowerCLI

Get-VM | Get-VMAdvancedConfiguration -key virtualHW.version

información relacionada