¿Cómo se puede cambiar la red virtual del adaptador de red de una estación de trabajo VMWare? (usando vmrun preferiblemente)

¿Cómo se puede cambiar la red virtual del adaptador de red de una estación de trabajo VMWare? (usando vmrun preferiblemente)

He estado jugando con vmrun durante las últimas horas intentando que Workstation 7.x cambie las conexiones de red de VM (vnet) entre diferentes redes personalizadas. Si la VM A está configurada para vnet2, luego uso vmrun para cambiarla a vnet3.

Hay una buena razón de automatización para tener que hacer esto, pero el proyecto no es lo suficientemente largo como para molestarse en profundizar en VIX.

Hasta ahora puedo leer el runtimeCongfig de la VM para el dispositivo Ethernet:

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

Y puedo escribir cambios en él:

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

En Workstation no ves ningún cambio. La configuración existente/cargada de la VM sigue siendo la anterior. (VMnet2, lo cual es malo porque quiero que sea la nueva configuración de VMnet3). Si llamo a vmrun para obtener la configuración de ethernet0.vnet, será VMnet3. (que es lo que lo configuré, lo cual es bueno)

Si desconecto manualmente la interfaz de red, Workstation carga la configuración ethernet0.vnet y muestra que es VMnet3. Si luego conecto la interfaz (hago clic derecho en el ícono de red de la VM en la parte inferior derecha y selecciono Conectar), estará en la red correcta.

Si también suspendo la VM y luego la restauro, recogerá los nuevos cambios de runtimeConfig. (Básicamente, la configuración de runtimeConfig se escribirá en el archivo .vmx y luego se volverá a leer)

¿Hay alguna manera de hacer que esto funcione como se esperaba? por ejemplo, ¿hace un cambio en runtimeConfig de la VM para la conexión en red y se usa o se recarga según sea necesario? No hay ningún comando vmrun para recargar runtimeConfig, y cuando suspendo/inicio con vmrun, el comando start intenta iniciar la VM en una ventana GUI de la estación de trabajo completamente nueva. (¿¡Y pide propiedad!?)

¡Gracias de antemano!

Respuesta1

Durante algunas pruebas de vmrun, noté que al suspender una VM no se escribía runtimeConfig en el disco y no se podía usar vmrun para escribir la variable para ethernet0.vnet mientras la VM no se estaba ejecutando. En el pasado, cambié manualmente la MAC de una VM editando el archivo .vmx, así que decidí intentar editarlo yo mismo mientras estaba suspendido y luego iniciarlo nuevamente. VMWare Workstation recogerá los cambios .vmx al suspender/detener la VM. (Aunque sin hacer una pausa) Esto fue suficiente para que escribiera un script por lotes para manejar la edición del archivo .vmx. Al menos vmrun puede suspender e iniciar máquinas virtuales.

Me parece muy contrario a la intuición que VMWare incluya vmrun con Workstation, donde puedes editar las variables de runtimeConfig y no usarlas. Intente cambiar el nombre para mostrar. Debe suspender manualmente o mediante vmrun y luego iniciar la VM para ver los cambios. Debería haber una opción para recargar runtimeConfig desde .vmx.

información relacionada