你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzVirtualNetworkSubnetConfig

更新虚拟网络的子网配置。

语法

Set-AzVirtualNetworkSubnetConfig
   -Name <String>
   -VirtualNetwork <PSVirtualNetwork>
   -AddressPrefix <String[]>
   [-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>]
Set-AzVirtualNetworkSubnetConfig
   -Name <String>
   -VirtualNetwork <PSVirtualNetwork>
   -AddressPrefix <String[]>
   [-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>]

说明

Set-AzVirtualNetworkSubnetConfig cmdlet 更新虚拟网络的子网配置。

示例

示例 1:修改子网的地址前缀

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

此示例创建包含一个子网的虚拟网络。 然后,调用 Set-AzVirtualNetworkSubnetConfig 来修改子网的 AddressPrefix。 这只会影响虚拟网络的内存中表示形式。 然后调用 Set-AzVirtualNetwork 以修改 Azure 中的虚拟网络。

示例 2:将网络安全组添加到子网

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

此示例创建一个资源组,其中包含一个仅包含一个子网的虚拟网络。 然后,它会创建一个网络安全组,其中包含 RDP 流量的允许规则。 Set-AzVirtualNetworkSubnetConfig cmdlet 用于修改前端子网的内存中表示形式,以便指向新创建的网络安全组。 然后调用 Set-AzVirtualNetwork cmdlet 将修改的状态写回到服务。

示例 3:将 Nat 网关附加到子网

$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 centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet

Set-AzVirtualNetworkSubnetConfig -Name frontendSubnet -VirtualNetwork $virtualNetwork -InputObject $natGateway 

$virtualNetwork | Set-AzVirtualNetwork

参数

-AddressPrefix

指定子网配置的 IP 地址范围。

类型:String[]
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DefaultOutboundAccess

子网中所有 VM 的默认出站连接

类型:Nullable<T>[Boolean]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Delegation

有权在此子网上执行操作的服务列表。

类型:PSDelegation[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-InputObject

指定与子网配置关联的 nat 网关。

类型:PSNatGateway
别名:NatGateway
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-IpAllocation

指定子网的 IpAllocations。

类型:PSIpAllocation[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Name

指定此 cmdlet 配置的子网配置的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-NetworkIdentifier

ServiceEndpoint 的 NetworkIdentifier 值

类型:PSResourceId
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-NetworkSecurityGroup

指定 NetworkSecurityGroup 对象。

类型:PSNetworkSecurityGroup
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-NetworkSecurityGroupId

指定网络安全组的 ID。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-PrivateEndpointNetworkPoliciesFlag

配置为启用或禁用在子网中的专用终结点上应用网络策略。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-PrivateLinkServiceNetworkPoliciesFlag

配置为启用或禁用在子网中的专用链接服务上应用网络策略。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ResourceId

指定与子网配置关联的 NAT 网关资源的 ID。

类型:String
别名:NatGatewayId
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-RouteTable

指定与网络安全组关联的路由表对象。

类型:PSRouteTable
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-RouteTableId

指定与网络安全组关联的路由表对象的 ID。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ServiceEndpoint

服务终结点值

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ServiceEndpointConfig

具有 NetworkIdentifier 值的服务终结点

类型:PSServiceEndpoint[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ServiceEndpointPolicy

服务终结点策略

类型:PSServiceEndpointPolicy[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VirtualNetwork

指定 包含子网配置的 VirtualNetwork 对象。

类型:PSVirtualNetwork
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

输入

PSVirtualNetwork

String

PSNetworkSecurityGroup

PSRouteTable

String[]

PSServiceEndpointPolicy[]

PSDelegation[]

输出

PSVirtualNetwork