После развертывания клона виртуальной машины Windows из шаблона, как можно написать сценарий для изменения сети, в которой находится виртуальный сетевой адаптер («Метка сети» в окне параметров виртуальной машины), и включения сетевого адаптера?
Я работаю с шаблонами, созданными в одной среде, которые необходимо развернуть во многих автоматически, а сеть необходимо автоматически переназначить для кластера vSphere, в котором развернута виртуальная машина.
Я написал эту функцию для сценариев развертывания, которая принимает IP-адрес и выполняет поиск во внешнем файле. Вот код ...
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
БЫТЬ ОСТОРОЖЕН! Это хорошо работает с виртуальной машиной только с 1 сетевой картой. Командлет Get-NetworkAdapter возвращает все сетевые адаптеры, поэтому для всех сетевых адаптеров будет задана их сеть. Надеюсь, хорошо.