如何從 guest 虛擬機器內部可靠地確定 V​​MWare Guest 的硬體版本?

如何從 guest 虛擬機器內部可靠地確定 V​​MWare Guest 的硬體版本?

我正在嘗試確定眾多 VMWare 虛擬機器的“硬體”版本。我無權存取 vSphere 控制台。

VMWare Tools 服務已安裝,並且C:\Program Files\VMWare\VMWare Tools\vmtoolsd.exe --cmd "info-get"看起來很有希望,但是我找不到有關要指定的金鑰名稱的任何詳細資訊。

是否還有其他方法,例如查看 VMWare 裝置驅動程式版本或查詢wmic

答案1

理論上你所要求的應該是可能的。

然而,VMWare 似乎並沒有很好地實現它。

正如您所說,擴充選項應該可以從具有可用 VMToolsd.exe 的來賓中查詢。然而它似乎不起作用。

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

應該會傳回 vmx 檔案中包含的硬體版本,但事實並非如此。

simonbaev 在該線程中的一篇文章似乎強調了一個問題,需要更改虛擬機器管理程式層級以允許從來賓查詢此資訊: 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  

這意味著您需要虛擬化團隊的幫助才能根據需要顯示該資訊。

然而,此時您也可以讓他們運行一個腳本來提取該訊息,而不需要他們修改所有生產伺服器的設定檔(並且可能還必須重新啟動所有伺服器)。

例如在 PowerCLI 中

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

相關內容