When you have a multi-NIC Azure IaaS VM, one of the NIC's must be marked as the "primary" NIC. This can only be configured using Power Shell.
The Azure IaaS VM instance must be in the stopped state before the NIC's can be modified
Stop-AzureRmVM -Name "myNVA" -ResourceGroupName "myNVA"
|
Set a variable for the Azure IaaS VM you want to interrogate
$vm = Get-AzureRmVm -Name "myNVA" -ResourceGroupName "myNVA"
|
Display all the network interfaces attached to that Azure IaaS VM
$vm.NetworkProfile.NetworkInterfaces
|
Set the priority of the Network Interface using the following commands, the primary should be set to “True”
$vm.NetworkProfile.NetworkInterfaces[0].Primary = $false
$vm.NetworkProfile.NetworkInterfaces[1].Primary = $true
|
Update-AzureRmVM -VM $vm -ResourceGroupName "myNVA"
|
Instructs Azure to start up the VM
Start-AzureRmVM -ResourceGroupName "myNVA" -Name "myNVA"
|
Update
The code must be in this order
Stop-AzureRmVM -Name "GBAS1SER04" -ResourceGroupName "GBAS1-RG-FS-01"
$vm = Get-AzureRmVm -Name "GBAS1SER04" -ResourceGroupName "GBAS1-RG-FS-01"
$nicId = (Get-AzureRmNetworkInterface -ResourceGroupName "GBAS1-RG-FS-01" -Name "GBAS1SER04-NI-01").Id
Add-AzureRmVMNetworkInterface -VM $vm -Id $nicId
$vm.NetworkProfile.NetworkInterfaces[0].Primary = $false
$vm.NetworkProfile.NetworkInterfaces[1].Primary = $true
Update-AzureRmVM -ResourceGroupName "GBAS1-RG-FS-01" -VM $vm
If you do not put the
$vm.NetworkProfile.NetworkInterfaces[0].Primary = $false
$vm.NetworkProfile.NetworkInterfaces[1].Primary = $true
Section before the Update-AzureRmVM the script will fail.