Add-AzureRmVirtualNetworkPeering

Creates a peering between two virtual networks.

Syntax

Add-AzureRmVirtualNetworkPeering
   -Name <String>
   -VirtualNetwork <PSVirtualNetwork>
   -RemoteVirtualNetworkId <String>
   [-BlockVirtualNetworkAccess]
   [-AllowForwardedTraffic]
   [-AllowGatewayTransit]
   [-UseRemoteGateways]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

The Add-AzureRmVirtualNetworkPeering cmdlet creates a peering between two virtual networks.

Examples

Example 1: Create a peering between two virtual networks in the same region

# Variables for common values used throughout the script.
$rgName='myResourceGroup'
$location='eastus'

# Create a resource group.
New-AzureRmResourceGroup -Name $rgName  -Location $location

# Create virtual network 1.
$vnet1 = New-AzureRmVirtualNetwork -ResourceGroupName $rgName -Name 'myVnet1' -AddressPrefix '10.0.0.0/16' -Location $location

# Create virtual network 2.
$vnet2 = New-AzureRmVirtualNetwork -ResourceGroupName $rgName -Name 'myVnet2' -AddressPrefix '10.1.0.0/16' -Location $location

# Peer VNet1 to VNet2.
Add-AzureRmVirtualNetworkPeering -Name myVnet1ToMyVnet2' -VirtualNetwork $vnet1 -RemoteVirtualNetworkId $vnet2.Id

# Peer VNet2 to VNet1.
Add-AzureRmVirtualNetworkPeering -Name 'myVnet2ToMyVnet1' -VirtualNetwork $vnet2 -RemoteVirtualNetworkId $vnet1.Id

Note that a peering link must be created from vnet1 to vnet2 and vice versa in order for peering to work.

Example 2: Create a peering between two virtual networks in different regions

# Variables for common values used throughout the script.
$rgName='myResourceGroup'

# Create a resource group.
New-AzureRmResourceGroup -Name $rgName  -Location westcentralus

# Create virtual network 1.
$vnet1 = New-AzureRmVirtualNetwork -ResourceGroupName $rgName -Name 'myVnet1' -AddressPrefix '10.0.0.0/16' -Location westcentralus

# Create virtual network 2.
$vnet2 = New-AzureRmVirtualNetwork -ResourceGroupName $rgName -Name 'myVnet2' -AddressPrefix '10.1.0.0/16' -Location candacentral

# Peer VNet1 to VNet2.
Add-AzureRmVirtualNetworkPeering -Name myVnet1ToMyVnet2' -VirtualNetwork $vnet1 -RemoteVirtualNetworkId $vnet2.Id

# Peer VNet2 to VNet1.
Add-AzureRmVirtualNetworkPeering -Name 'myVnet2ToMyVnet1' -VirtualNetwork $vnet2 -RemoteVirtualNetworkId $vnet1.Id

Here 'myVnet1' in US West Central is peered with 'myVnet2' in Canada Central.

Required Parameters

-Name

Specifies the name of the virtual network peering.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RemoteVirtualNetworkId

Specifies the ID of the remote virtual network.

Type:String
Position:Named
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False
-VirtualNetwork

Specifies the parent virtual network.

Type:Microsoft.Azure.Commands.Network.Models.PSVirtualNetwork
Position:Named
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

Optional Parameters

-AllowForwardedTraffic

Indicates that this cmdlet allows the forwarded traffic from the virtual machines in the remote virtual network.

Type:System.Management.Automation.SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-AllowGatewayTransit

Flag to allow gatewayLinks be used in remote virtual network's link to this virtual network

Type:System.Management.Automation.SwitchParameter
Aliases:AlloowGatewayTransit
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-BlockVirtualNetworkAccess

Indicates that this cmdlet blocks the virtual machines in the linked virtual network space to access all the virtual machines in local virtual network space.

Type:System.Management.Automation.SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure.

Type:Microsoft.Azure.Commands.Common.Authentication.Abstractions.IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-UseRemoteGateways

Indicates that this cmdlet allows remote gateways on this virtual network.

Type:System.Management.Automation.SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

Parameter 'RemoteVirtualNetworkId' accepts value of type 'String' from the pipeline

Inputs

PSVirtualNetwork

Parameter 'VirtualNetwork' accepts value of type 'PSVirtualNetwork' from the pipeline

Outputs

Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkPeering