.png)
Tenho brincado com o vmrun nas últimas horas tentando fazer com que a estação de trabalho 7.x altere as conexões de rede da VM (vnet) entre diferentes redes personalizadas. ef VM A está configurado para vnet2, então uso vmrun para alterá-lo para vnet3.
Há um bom motivo de automação para fazer isso, mas o projeto não é longo o suficiente para se preocupar em explorar o VIX.
Até agora posso ler o runtimeCongfig da VM para o dispositivo Ethernet:
vmrun.exe readVariable C:\Working\Virtual\XYZ\XYZ-WWW\XYZ-WWW.vmx runtimeConfig ethernet0.vnet
VMnet2
E posso escrever alterações nele:
vmrun.exe writeVariable C:\Working\Virtual\XYZ\XYZ-WWW\XYZ-WWW.vmx runtimeConfig ethernet0.vnet VMnet3
No Workstation você não vê nenhuma mudança. A configuração existente/carregada da VM ainda é a antiga. (VMnet2, o que é ruim porque quero que seja a nova configuração VMnet3) Se eu chamar vmrun para obter a configuração ethernet0.vnet, será VMnet3. (que é o que eu configurei, o que é bom)
Se eu desconectar manualmente a interface de rede, a estação de trabalho carrega a configuração ethernet0.vnet e exibe que é VMnet3. Se eu conectar a interface (clique com o botão direito no ícone de rede da VM no canto inferior direito e selecione Conectar), ela estará na rede correta.
Se eu também suspender a VM e restaurá-la, ela captará as novas alterações do runtimeConfig. (basicamente as configurações do runtimeConfig serão gravadas no arquivo .vmx e lidas novamente)
Existe uma maneira de fazer isso funcionar conforme o esperado? por exemplo, você faz uma alteração no runtimeConfig da VM para rede e ele é usado ou recarregado conforme necessário? Não há comando vmrun para recarregar o runtimeConfig e quando eu suspendo/inicio com vmrun, o comando start tenta iniciar a VM em uma janela GUI da estação de trabalho completamente nova. (e pede propriedade!?)
Desde já, obrigado!
Responder1
Durante alguns testes de vmrun, percebi que suspender uma VM não gravaria o runtimeConfig no disco e você não poderia usar vmrun para writeVariable para ethernet0.vnet enquanto a VM não estivesse em execução. No passado, alterei manualmente o MAC de uma VM editando o arquivo .vmx, então decidi tentar editá-lo sozinho enquanto estava suspenso e, em seguida, iniciá-lo novamente. A estação de trabalho VMWare captará as alterações .vmx ao suspender/parar a VM. (sem pausar) Isso foi o suficiente para eu escrever um script em lote para lidar com a edição do arquivo .vmx. Pelo menos o vmrun pode suspender e iniciar VMs.
Parece-me muito contra-intuitivo que o VMWare inclua vmrun com Workstation, onde você pode editar as variáveis do runtimeConfig e não usá-las de fato! Tente alterar o displayName. Você precisa manualmente ou via vmrun, suspender e iniciar a VM para ver as alterações. Deve haver uma opção para recarregar o runtimeConfig de .vmx.