如何使用与同一RG中的其他VM相同配置(Vnet,Subnet)的powershell在AzureRM中创建NIC

时间:2018-03-19 07:43:45

标签: azure azure-virtual-machine azure-virtual-network

我正在编写一个脚本来克隆Azure中的VM(非托管到非托管磁盘),我想知道如何在同一个RG中使用现有的VM NIC配置(相同的VNet,Subnet)创建新的NIC。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望使用与同一资源组中的旧NIc相同的SubNet和VNet创建新的NIC。

您可以使用以下powershell脚本:

$destinationResourceGroup = <yourRGName>
$location = <thedestinationlocation>
$oldnic = Get-AzureRmNetworkInterface -ResourceGroupName $destinationResourceGroup -Name <theOldNICName>
$subnet = $oldnic.nic.IpConfigurations.subnet
$newnic = New-AzureRmNetworkInterface -Name <newnicName> -ResourceGroupName $destinationResourceGroup -Location $location  -SubnetId $subnet.Id 

如果您还可以将其他资源与新NIC相关联(一个IP地址只能与一个NIC关联)

$newnic = New-AzureRmNetworkInterface -Name <newnicName> -ResourceGroupName $destinationResourceGroup -Location $location -SubnetId $subnet.Id    -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id

Additonal:您可能希望使用-IpConfiguration $oldnic.IpConfigurations复制相同的Ip配置,但是您会遇到有关相关IP地址的一个问题。

因此,如果您只想复制NIC,最好不要使用此命令。但是,如果您在获得旧NIC的Ipconfiguration后可以解除分配IP地址,则可以使用它。

希望这有帮助!