在vSphere中针对克隆的VM脚本更改为vNIC

从模板中部署Windows VM克隆后,如何编写脚本来更改vNIC所在的networking(“VM设置”窗口中的“networking标签”)并启用NIC?

我正在使用在一个环境中构build的模板,这些模板需要以自动的方式部署到许多环境中,并且需要为VM部署到的vSphere群集自动重新分配networking。

我为部署脚本编写了这个函数,它使用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个NIC的虚拟机。 Get-NetworkAdapter cmdlet返回所有NIC,以便所有NIC都将设置其networking。 希望好的。