Set-AzVirtualNetworkSubnetConfig
Updates a subnet configuration for a virtual network.
Syntax
SetByResource (Default)
Set-AzVirtualNetworkSubnetConfig
-Name <String>
-VirtualNetwork <PSVirtualNetwork>
[-AddressPrefix <String[]>]
[-IpamPoolPrefixAllocation <PSIpamPoolPrefixAllocation[]>]
[-NetworkSecurityGroup <PSNetworkSecurityGroup>]
[-RouteTable <PSRouteTable>]
[-InputObject <PSNatGateway>]
[-ServiceEndpoint <String[]>]
[-NetworkIdentifier <PSResourceId>]
[-ServiceEndpointConfig <PSServiceEndpoint[]>]
[-ServiceEndpointPolicy <PSServiceEndpointPolicy[]>]
[-Delegation <PSDelegation[]>]
[-PrivateEndpointNetworkPoliciesFlag <String>]
[-PrivateLinkServiceNetworkPoliciesFlag <String>]
[-IpAllocation <PSIpAllocation[]>]
[-DefaultOutboundAccess <Boolean>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
SetByResourceId
Set-AzVirtualNetworkSubnetConfig
-Name <String>
-VirtualNetwork <PSVirtualNetwork>
[-AddressPrefix <String[]>]
[-IpamPoolPrefixAllocation <PSIpamPoolPrefixAllocation[]>]
[-NetworkSecurityGroupId <String>]
[-RouteTableId <String>]
[-ResourceId <String>]
[-ServiceEndpoint <String[]>]
[-NetworkIdentifier <PSResourceId>]
[-ServiceEndpointConfig <PSServiceEndpoint[]>]
[-ServiceEndpointPolicy <PSServiceEndpointPolicy[]>]
[-Delegation <PSDelegation[]>]
[-PrivateEndpointNetworkPoliciesFlag <String>]
[-PrivateLinkServiceNetworkPoliciesFlag <String>]
[-IpAllocation <PSIpAllocation[]>]
[-DefaultOutboundAccess <Boolean>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
The Set-AzVirtualNetworkSubnetConfig cmdlet updates a subnet configuration for a virtual network.
Examples
Example 1: Modify the address prefix of a subnet
New-AzResourceGroup -Name TestResourceGroup -Location centralus
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24"
$virtualNetwork = New-AzVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup -Location centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet
Set-AzVirtualNetworkSubnetConfig -Name frontendSubnet -VirtualNetwork $virtualNetwork -AddressPrefix "10.0.3.0/23"
$virtualNetwork | Set-AzVirtualNetwork
This example creates a virtual network with one subnet. Then is calls
Set-AzVirtualNetworkSubnetConfig to modify the AddressPrefix of the subnet. This
only impacts the in-memory representation of the virtual network.
Set-AzVirtualNetwork is then called to modify the virtual network in Azure.
Example 2: Add a network security group to a subnet
New-AzResourceGroup -Name TestResourceGroup -Location centralus
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24"
$virtualNetwork = New-AzVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup -Location centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet
$rdpRule = New-AzNetworkSecurityRuleConfig -Name rdp-rule -Description "Allow RDP" -Access Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389
$networkSecurityGroup = New-AzNetworkSecurityGroup -ResourceGroupName TestResourceGroup -Location centralus -Name "NSG-FrontEnd" -SecurityRules $rdpRule
Set-AzVirtualNetworkSubnetConfig -Name frontendSubnet -VirtualNetwork $virtualNetwork -AddressPrefix "10.0.1.0/24" -NetworkSecurityGroupId $networkSecurityGroup.Id
$virtualNetwork | Set-AzVirtualNetwork
This example creates a resource group with one virtual network containing just one
subnet. It then creates a network security group with an allow rule for RDP traffic. The
Set-AzVirtualNetworkSubnetConfig cmdlet is used to modify the in-memory
representation of the frontend subnet so that it points to the newly created network
security group. The Set-AzVirtualNetwork cmdlet is then called to write the modified
state back to the service.
Example 3: Attach a Nat Gateway to a subnet
$pip = New-AzPublicIpAddress -Name "pip" -ResourceGroupName "natgateway_test" `
-Location "eastus2" -Sku "Standard" -IdleTimeoutInMinutes 4 -AllocationMethod "static"
$natGateway = New-AzNatGateway -ResourceGroupName "natgateway_test" -Name "nat_gateway" `
-IdleTimeoutInMinutes 4 -Sku "Standard" -Location "eastus2" -PublicIpAddress $pip
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24"
$virtualNetwork = New-AzVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup -Location eastus2 -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet
Set-AzVirtualNetworkSubnetConfig -Name frontendSubnet -VirtualNetwork $virtualNetwork -InputObject $natGateway -AddressPrefix "10.0.0.0/16"
$virtualNetwork | Set-AzVirtualNetwork
Parameters
-AddressPrefix
Specifies a range of IP addresses for a subnet configuration.
Parameter properties
Type: String [ ]
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: False
Value from remaining arguments: False
-DefaultOutboundAccess
Default outbound connectivity for all VMs in the subnet
Parameter properties
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-DefaultProfile
The credentials, account, tenant, and subscription used for communication with azure.
Parameter properties
Type: IAzureContextContainer
Default value: None
Supports wildcards: False
DontShow: False
Aliases: AzContext, AzureRmContext, AzureCredential
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: False
Value from remaining arguments: False
-Delegation
List of services that have permission to perform operations on this subnet.
Parameter properties
Type: PSDelegation [ ]
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
Specifies the nat gateway associated with the subnet configuration.
Type: PSNatGateway
Default value: None
Supports wildcards: False
DontShow: False
Aliases: NatGateway
SetByResource
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-IpAllocation
Specifies IpAllocations for a subnet.
Parameter properties
Type: PSIpAllocation [ ]
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-IpamPoolPrefixAllocation
IpamPool to auto allocate from for subnet address prefixes.
Parameter properties
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: False
Value from remaining arguments: False
-Name
Specifies the name of a subnet configuration that this cmdlet configures.
Parameter properties
Type: String
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: True
Value from pipeline: False
Value from pipeline by property name: False
Value from remaining arguments: False
-NetworkIdentifier
NetworkIdentifier Value for ServiceEndpoint
Parameter properties
Type: PSResourceId
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-NetworkSecurityGroup
Specifies a NetworkSecurityGroup object.
Parameter properties
Parameter sets
SetByResource
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-NetworkSecurityGroupId
Specifies the ID of a network security group.
Parameter properties
Type: String
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
SetByResourceId
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-PrivateEndpointNetworkPoliciesFlag
Configure to enable or disable applying network policies on private endpoint in the subnet.
Parameter properties
Type: String
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-PrivateLinkServiceNetworkPoliciesFlag
Configure to enable or disable applying network policies on private link service in the subnet.
Parameter properties
Type: String
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-ResourceId
Specifies the Id of NAT Gateway resource associated with the subnet configuration.
Parameter properties
Type: String
Default value: None
Supports wildcards: False
DontShow: False
Aliases: NatGatewayId
Parameter sets
SetByResourceId
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-RouteTable
Specifies the route table object that is associated with the network security group.
Parameter properties
Type: PSRouteTable
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
SetByResource
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-RouteTableId
Specifies the ID of the route table object that is associated with the network security group.
Parameter properties
Type: String
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
SetByResourceId
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-ServiceEndpoint
Service Endpoint Value
Parameter properties
Type: String [ ]
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-ServiceEndpointConfig
Service Endpoint with NetworkIdentifier Value
Parameter properties
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-ServiceEndpointPolicy
Service Endpoint Policies
Parameter properties
Parameter sets
(All)
Position: Named
Mandatory: False
Value from pipeline: False
Value from pipeline by property name: True
Value from remaining arguments: False
-VirtualNetwork
Specifies the VirtualNetwork object that contains the subnet configuration.
Parameter properties
Type: PSVirtualNetwork
Default value: None
Supports wildcards: False
DontShow: False
Parameter sets
(All)
Position: Named
Mandatory: True
Value from pipeline: True
Value from pipeline by property name: False
Value from remaining arguments: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see
about_CommonParameters .
Outputs