Последние пару часов я играю с vmrun, пытаясь заставить Workstation 7.x изменить сетевые подключения виртуальной машины (vnet) между различными пользовательскими сетями. эф ВМ А настроена для vnet2, затем я использую vmrun, чтобы изменить ее на vnet3.

Для этого есть хорошая причина автоматизации, но проект не достаточно длинный, чтобы копаться в VIX.

До сих пор я могу прочитать runtimeCongfig виртуальной машины для устройства Ethernet:

vmrun.exe readVariable C:\Working\Virtual\XYZ\XYZ-WWW\XYZ-WWW.vmx runtimeConfig ethernet0.vnet
VMnet2

И я могу написать изменения к нему:

vmrun.exe writeVariable C:\Working\Virtual\XYZ\XYZ-WWW\XYZ-WWW.vmx runtimeConfig ethernet0.vnet VMnet3

В рабочей станции вы не видите изменений. Существующая / загруженная конфигурация виртуальной машины все еще старая. (VMnet2, что плохо, так как я хочу, чтобы это был новый параметр VMnet3) Если я вызову vmrun, чтобы получить параметр ethernet0.vnet, это будет VMnet3. (это то, что я установил, что хорошо)

Если я вручную отключаю сетевой интерфейс, рабочая станция загружает параметр config ethernet0.vnet и показывает, что это VMnet3. Если я затем подключу интерфейс (щелкните правой кнопкой мыши значок сети виртуальной машины в правом нижнем углу и выберите «Подключить»), он будет в правильной сети.

Если я также приостановлю виртуальную машину, а затем восстановлю ее, она примет новые изменения runtimeConfig. (в основном настройки runtimeConfig будут записаны в файл .vmx, а затем снова прочитаны)

Есть ли способ заставить это работать как ожидалось? например, вы вносите изменения в runtimeConfig виртуальной машины для работы в сети, и он либо используется, либо перезагружается по мере необходимости? Нет команды vmrun для перезагрузки runtimeConfig, и когда я приостанавливаю / начинаю с vmrun, команда запуска пытается запустить ВМ в совершенно новом окне графического интерфейса рабочей станции. (и это требует права собственности !?)

Заранее спасибо!

1 ответ1

0

Во время тестирования vmrun я заметил, что приостановка виртуальной машины не будет записывать runtimeConfig на диск, и вы не сможете использовать vmrun для записи переменной для ethernet0.vnet, когда виртуальная машина не работает. В прошлом я вручную изменял MAC-адрес виртуальной машины, редактируя файл .vmx, поэтому я решил попробовать отредактировать его самостоятельно, пока он приостановлен, а затем запустить его снова. Рабочая станция VMWare будет регистрировать изменения .vmx при приостановке / остановке виртуальной машины. (хотя и не останавливаясь) Этого было достаточно, чтобы написать пакетный скрипт для обработки редактирования файла .vmx. По крайней мере, vmrun может приостановить и запустить виртуальные машины.

Мне кажется очень нелогичным, что VMWare будет включать vmrun с Workstation, где вы можете редактировать переменные runtimeConfig, а не использовать их на самом деле! Попробуйте изменить displayName. Вы должны либо вручную, либо через vmrun, приостановить и запустить виртуальную машину, чтобы увидеть изменения. Должна быть возможность перезагрузить runtimeConfig из .vmx.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .