
我正在嘗試確定眾多 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