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

Set-AzureRmVirtualNetworkSubnetConfig

配置虚拟网络中子网配置的目标状态。

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

Set-AzureRmVirtualNetworkSubnetConfig
   -Name <String>
   -VirtualNetwork <PSVirtualNetwork>
   -AddressPrefix <System.Collections.Generic.List`1[System.String]>
   [-NetworkSecurityGroup <PSNetworkSecurityGroup>]
   [-RouteTable <PSRouteTable>]
   [-ServiceEndpoint <System.Collections.Generic.List`1[System.String]>]
   [-ServiceEndpointPolicy <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSServiceEndpointPolicy]>]
   [-Delegation <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSDelegation]>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzureRmVirtualNetworkSubnetConfig
   -Name <String>
   -VirtualNetwork <PSVirtualNetwork>
   -AddressPrefix <System.Collections.Generic.List`1[System.String]>
   [-NetworkSecurityGroupId <String>]
   [-RouteTableId <String>]
   [-ServiceEndpoint <System.Collections.Generic.List`1[System.String]>]
   [-ServiceEndpointPolicy <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSServiceEndpointPolicy]>]
   [-Delegation <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSDelegation]>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

Set-AzureRmVirtualNetworkSubnetConfig cmdlet 为 Azure 虚拟网络中的子网配置配置目标状态。

示例

1:修改子网的地址前缀

New-AzureRmResourceGroup -Name TestResourceGroup -Location centralus

$frontendSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24"

$virtualNetwork = New-AzureRmVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup    
    -Location centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet

Set-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -VirtualNetwork $virtualNetwork -AddressPrefix "10.0.3.0/23"

$virtualNetwork | Set-AzureRmVirtualNetwork

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

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

New-AzureRmResourceGroup -Name TestResourceGroup -Location centralus

$frontendSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24"

$virtualNetwork = New-AzureRmVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup 
    -Location centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet

$rdpRule = New-AzureRmNetworkSecurityRuleConfig -Name rdp-rule -Description "Allow RDP" -Access Allow 
    -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389

$networkSecurityGroup = New-AzureRmNetworkSecurityGroup -ResourceGroupName 
    TestResourceGroup -Location centralus -Name "NSG-FrontEnd" -SecurityRules $rdpRule

Set-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -VirtualNetwork $virtualNetwork -AddressPrefix 
    "10.0.1.0/24" -NetworkSecurityGroup $networkSecurityGroup

$virtualNetwork | Set-AzureRmVirtualNetwork

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

参数

-AddressPrefix

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

Type:List<T>[String]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delegation

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

Type:List<T>[PSDelegation]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

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

-NetworkSecurityGroup

指定 NetworkSecurityGroup 对象。

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

-NetworkSecurityGroupId

指定网络安全组的 ID。

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

-RouteTable

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

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

-RouteTableId

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

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

-ServiceEndpoint

服务终结点值

Type:List<T>[String]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ServiceEndpointPolicy

服务终结点策略

Type:List<T>[PSServiceEndpointPolicy]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VirtualNetwork

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

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

输入

PSVirtualNetwork

String

PSNetworkSecurityGroup

PSRouteTable

List<T>[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSServiceEndpointPolicy, Microsoft.Azure.Commands.Network, Version=6.7.0.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSDelegation, Microsoft.Azure.Commands.Network, Version=6.7.0.0, Culture=neutral, PublicKeyToken=null]]

输出

PSVirtualNetwork