Wie kann ich die Hardwareversion eines VMWare-Gasts zuverlässig innerhalb des Gasts ermitteln?

Wie kann ich die Hardwareversion eines VMWare-Gasts zuverlässig innerhalb des Gasts ermitteln?

Ich versuche, die „Hardware“-Version zahlreicher VMWare-VMs zu ermitteln. Ich habe keinen Zugriff auf die vSphere-Konsole.

Der VMWare Tools Service ist installiert und C:\Program Files\VMWare\VMWare Tools\vmtoolsd.exe --cmd "info-get"sieht vielversprechend aus, ich kann jedoch keine Details darüber finden, welcher Schlüsselname angegeben werden soll.

Gibt es eine andere Methode, beispielsweise das Nachschauen nach VMWare-Gerätetreiberversionen oder vielleicht eine wmicAbfrage?

Antwort1

Theoretisch sollte das, was Sie fragen, möglich sein.

Es scheint jedoch, dass es von VMWare nicht besonders gut implementiert ist.

Die erweiterten Optionen sollten vom Gast aus abfragbar sein, wenn VMToolsd.exe verfügbar ist, wie Sie richtig sagen. Es scheint jedoch nicht zu funktionieren.

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

Sollte die in der VMX-Datei enthaltene Hardwareversion zurückgeben, tut dies jedoch nicht.

Ein Beitrag von simonbaev in diesem Thread scheint auf ein Problem hinzuweisen, das Änderungen auf Hypervisor-Ebene erfordert, damit diese Informationen vom Gast abgefragt werden können: 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  

Das bedeutet, dass Sie die Unterstützung Ihres Virtualisierungsteams benötigen, um die Informationen so anzuzeigen, wie Sie sie benötigen.

An diesem Punkt können Sie sie jedoch auch einfach dazu veranlassen, ein Skript auszuführen, um diese Informationen auf eine Weise zu extrahieren, bei der sie nicht mit den Konfigurationsdateien aller Produktionsserver herumspielen müssen (und wahrscheinlich auch alles neu starten müssen).

zB in PowerCLI

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

verwandte Informationen