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

Set-AzNetworkSecurityRuleConfig

更新网络安全组的网络安全规则配置。

语法

Set-AzNetworkSecurityRuleConfig
   -Name <String>
   -NetworkSecurityGroup <PSNetworkSecurityGroup>
   [-Description <String>]
   [-Protocol <String>]
   [-SourcePortRange <String[]>]
   [-DestinationPortRange <String[]>]
   [-SourceAddressPrefix <String[]>]
   [-DestinationAddressPrefix <String[]>]
   [-SourceApplicationSecurityGroup <PSApplicationSecurityGroup[]>]
   [-DestinationApplicationSecurityGroup <PSApplicationSecurityGroup[]>]
   [-Access <String>]
   [-Priority <Int32>]
   [-Direction <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzNetworkSecurityRuleConfig
   -Name <String>
   -NetworkSecurityGroup <PSNetworkSecurityGroup>
   [-Description <String>]
   [-Protocol <String>]
   [-SourcePortRange <String[]>]
   [-DestinationPortRange <String[]>]
   [-SourceAddressPrefix <String[]>]
   [-DestinationAddressPrefix <String[]>]
   [-SourceApplicationSecurityGroupId <String[]>]
   [-DestinationApplicationSecurityGroupId <String[]>]
   [-Access <String>]
   [-Priority <Int32>]
   [-Direction <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

Set-AzNetworkSecurityRuleConfig cmdlet 更新网络安全组的网络安全规则配置。

示例

示例 1:更改网络安全规则中的访问配置

$nsg = Get-AzNetworkSecurityGroup -Name "NSG-FrontEnd" -ResourceGroupName "TestRG"
$nsg | Get-AzNetworkSecurityRuleConfig -Name "rdp-rule"
Set-AzNetworkSecurityRuleConfig -Name "rdp-rule" -NetworkSecurityGroup $nsg -Access "Deny"

第一个命令获取名为 NSG-FrontEnd 的网络安全组,然后将其存储在变量$nsg中。 第二个命令使用管道操作员将$nsg中的安全组传递给 Get-AzNetworkSecurityRuleConfig,后者获取名为 rdp-rule 的安全规则配置。 第三个命令将 rdp-rule 的访问配置更改为“拒绝”。 但是,这会覆盖规则,并且仅设置传递给 Set-AzNetworkSecurityRuleConfig 函数的参数。 注意:无法更改单个属性

示例 2

更新网络安全组的网络安全规则配置。 (自动生成)

Set-AzNetworkSecurityRuleConfig -Access Allow -DestinationAddressPrefix * -DestinationPortRange 3389 -Direction Inbound -Name 'rdp-rule' -NetworkSecurityGroup <PSNetworkSecurityGroup> -Priority 1 -Protocol Tcp -SourceAddressPrefix 'Internet' -SourcePortRange *

示例 3

更新网络安全组的网络安全规则配置。 (自动生成)

Set-AzNetworkSecurityRuleConfig -Access Allow -Description 'Allow RDP' -DestinationAddressPrefix * -DestinationPortRange 3389 -Direction Inbound -Name 'rdp-rule' -NetworkSecurityGroup <PSNetworkSecurityGroup> -Priority 1 -Protocol Tcp -SourceAddressPrefix 'Internet' -SourcePortRange *

示例 4

更新网络安全组的网络安全规则配置(源 IP 地址)

$nsg = Get-AzNetworkSecurityGroup -ResourceGroupName "MyResource" -Name "MyNsg"
($nsg.SecurityRules | Where-Object {$_.Name -eq "RuleName"}).SourceAddressPrefix = ([System.String[]] @("xxx.xxx.xxx.xxx"))
$nsg | Set-AzNetworkSecurityGroup | Get-AzNetworkSecurityRuleConfig -Name "RuleName"

参数

-Access

指定是允许还是拒绝网络流量。 此参数的可接受值为:允许和拒绝。

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

-DefaultProfile

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

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

-Description

指定规则配置的说明。 最大大小为 140 个字符。

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

-DestinationAddressPrefix

指定目标地址前缀。 此参数的可接受值为:

  • 无类别域际路由选择 (CIDR) 地址
  • 目标 IP 地址范围
  • 通配符 \ 匹配任何 IP 地址。 可以使用 VirtualNetwork、AzureLoadBalancer 和 Internet 等标记。
类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DestinationApplicationSecurityGroup

应用程序安全组设置为规则的目标。 它不能与“DestinationAddressPrefix”参数一起使用。

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

-DestinationApplicationSecurityGroupId

应用程序安全组设置为规则的目标。 它不能与“DestinationAddressPrefix”参数一起使用。

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

-DestinationPortRange

指定目标端口或范围。 此参数的可接受值为:

  • 整数
  • 介于 0 和 65535 之间的整数范围
  • 通配符 \ 匹配任何端口
类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Direction

指定是针对传入流量还是传出流量评估规则。 此参数的可接受值为:入站和出站。

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

-Name

指定此 cmdlet 设置的网络安全规则配置的名称。

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

-NetworkSecurityGroup

指定 包含要设置的网络安全规则配置的 NetworkSecurityGroup 对象。

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

-Priority

指定规则配置的优先级。 此参数的可接受值为:介于 100 和 4096 之间的整数。 对于集合中的每个规则,优先级编号必须是唯一的。 优先级编号越低,规则优先级越高。

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

-Protocol

指定规则配置应用于的网络协议。 此参数的可接受值为:

  • Tcp
  • UDP
  • Icmp
  • Esp
  • 通配符 \ 匹配所有
类型:String
接受的值:Tcp, Udp, Icmp, Esp, Ah, *
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SourceAddressPrefix

指定源地址前缀。 此参数的可接受值为:

  • A CIDR
  • 源 IP 范围
  • 通配符 \ 匹配任何 IP 地址。 还可以使用 VirtualNetwork、AzureLoadBalancer 和 Internet 等标记。
类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SourceApplicationSecurityGroup

应用程序安全组设置为规则的源。 它不能与“SourceAddressPrefix”参数一起使用。

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

-SourceApplicationSecurityGroupId

应用程序安全组设置为规则的源。 它不能与“SourceAddressPrefix”参数一起使用。

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

-SourcePortRange

指定源端口或范围。 此参数的可接受值为:

  • 整数
  • 介于 0 和 65535 之间的整数范围
  • 通配符 \ 匹配任何端口
类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

PSNetworkSecurityGroup

输出

PSNetworkSecurityGroup