我正在尝试确定多个 VMWare VM 的“硬件”版本。我无法访问 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