Add-AzureRmVirtualNetworkPeering

Creates a peering between two virtual networks.

Important

Because Az PowerShell modules now have all the capabilities of AzureRM PowerShell modules and more, we'll retire AzureRM PowerShell modules on 29 February 2024.

To avoid service interruptions, update your scripts that use AzureRM PowerShell modules to use Az PowerShell modules by 29 February 2024. To automatically update your scripts, follow the quickstart guide.

Syntax

Add-AzureRmVirtualNetworkPeering
   -Name <String>
   -VirtualNetwork <PSVirtualNetwork>
   -RemoteVirtualNetworkId <String>
   [-BlockVirtualNetworkAccess]
   [-AllowForwardedTraffic]
   [-AllowGatewayTransit]
   [-UseRemoteGateways]
   [-AsJob]
   [-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.

Parameters

-AllowForwardedTraffic

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

Type: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:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-AsJob

Run cmdlet in the background

Type:SwitchParameter
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: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
-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
Accept wildcard characters:False
-UseRemoteGateways

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

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-VirtualNetwork

Specifies the parent virtual network.

Type:PSVirtualNetwork
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

Inputs

PSVirtualNetwork

Parameters: VirtualNetwork (ByValue)

String

Parameters: RemoteVirtualNetworkId (ByValue)

Outputs

PSVirtualNetworkPeering