
Я пытаюсь определить версию "железа" многочисленных виртуальных машин 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