Как изменить vnet сетевого адаптера VMWare Workstation? (предпочтительно с помощью vmrun)

Как изменить vnet сетевого адаптера VMWare Workstation? (предпочтительно с помощью vmrun)

Последние пару часов я экспериментировал с vmrun, пытаясь заставить Workstation 7.x изменять сетевые подключения виртуальных машин (vnet) между различными пользовательскими сетями. Если виртуальная машина A настроена для 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

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

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

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

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

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

решение1

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

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

Связанный контент