Mudanças de script no vNIC no vSphere para uma VM clonada

1

Após implantar um clone da VM do Windows a partir de um modelo, como um script pode ser gravado para alterar a rede na qual o vNIC está ("Network label" na janela VM Settings) e habilitar a NIC?

Estou trabalhando com modelos criados em um ambiente que precisa ser implantado em muitos de maneira automatizada, e a rede precisa ser reatribuída automaticamente para o cluster do vSphere no qual a VM está implantada.

    
por warren 29.08.2012 / 17:20

1 resposta

2

Eu escrevi essa função para scripts de implantação que pegam o endereço IP e fazem uma pesquisa em um arquivo externo. Aqui está o código ...

Function Get-NetworkName
{
param($vmip)

$ip      = $vmip
$ipArray = $ip.Split(".")
$subnet  = $ipArray[0] + "." + $ipArray[1] + "." + $ipArray[2]

$path     = "vlanmapping.txt"
$vlanhash = ConvertFrom-StringData -StringData ([io.file]::ReadAllText($path))

$networkname = $vlanhash.Get_Item($subnet)

return $networkname
}

$vmname = "my_vm"
$vmip = "10.10.1.100"
Get-VM -name $vmname | Get-NetworkAdapter | Set-NetworkAdapter -NetworkName (Get-NetworkName($vmip)) -confirm:$false


#Contents of vlanmapping.txt
#10.10.10=VLAN1
#10.10.20=VLAN2
#10.10.30=VLAN3

TENHA CUIDADO! Isso funciona bem com uma VM com apenas 1 placa de rede. O cmdlet Get-NetworkAdapter retorna todas as NICs para que todas as NICs tenham suas Redes definidas. Espero que esteja bem.

    
por 22.02.2013 / 14:23