共用方式為


New-AzureRmFirewallNetworkRuleCollection

建立 Azure 防火牆 網路規則的網路集合。

警告

自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。

雖然 AzureRM 模組可能仍可運作,但不再維護或支援它,但會根據用戶的判斷權和風險放置任何繼續使用。 如需轉換至 Az 模組的指引,請參閱我們的 移轉資源

語法

New-AzureRmFirewallNetworkRuleCollection
   -Name <String>
   -Priority <UInt32>
   -Rule <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSAzureFirewallNetworkRule]>
   -ActionType <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzureRmFirewallNetworkRuleCollection Cmdlet 會建立防火牆網路規則的集合。

範例

1:使用兩個規則建立網路集合

$rule1 = New-AzureRmFirewallNetworkRule -Name "all-udp-traffic" -Description "Rule for all UDP traffic" -Protocol UDP -SourceAddress "*" -DestinationAddress "*" -DestinationPort "*"
$rule2 = New-AzureRmFirewallNetworkRule -Name "partial-tcp-rule" -Description "Rule for all TCP traffic from 10.0.0.0 to 60.1.5.0:4040" -Protocol TCP -SourceAddress "10.0.0.0" -DestinationAddress "60.1.5.0" -DestinationPort "4040"
New-AzureRmFirewallNetworkRuleCollection -Name RC1 -Priority 100 -Rule $rule1, $rule2 -ActionType "Allow"

此範例會建立集合,以允許符合這兩個規則之一的所有流量。 第一個規則適用於所有UDP流量。 第二個規則適用於從 10.0.0.0 到 60.1.5.0:4040 的 TCP 流量。 如果有另一個優先順序較高的網路規則集合(較小的數位)也符合$rule 1 或$rule 2 中所識別的流量,則具有較高優先順序的規則集合動作會改為生效。

2:將規則新增至規則集合

$rule1 = New-AzureRmFirewallNetworkRule -Name "all-udp-traffic" -Description "Rule for all UDP traffic" -Protocol UDP -SourceAddress "*" -DestinationAddress "*" -DestinationPort "*"
$ruleCollection = New-AzureRmFirewallNetworkRuleCollection -Name "MyNetworkRuleCollection" -Priority 100 -Rule $rule1 -ActionType "Allow"

$rule2 = New-AzureRmFirewallNetworkRule -Name "partial-tcp-rule" -Description "Rule for all TCP traffic from 10.0.0.0 to 60.1.5.0:4040" -Protocol TCP -SourceAddress "10.0.0.0" -DestinationAddress "60.1.5.0" -DestinationPort "4040"
$ruleCollection.AddRule($rule2)

此範例會使用一個規則建立新的網路規則集合,然後使用規則集合物件上的 AddRule 方法,將第二個規則新增至規則集合。 指定規則集合中的每個規則名稱都必須有唯一的名稱,而且不區分大小寫。

3:從規則集合取得規則

$rule1 = New-AzureRmFirewallNetworkRule -Name "all-udp-traffic" -Description "Rule for all UDP traffic" -Protocol UDP -SourceAddress "*" -DestinationAddress "*" -DestinationPort "*"
$ruleCollection = New-AzureRmFirewallNetworkRuleCollection -Name "MyNetworkRuleCollection" -Priority 100 -Rule $rule1 -ActionType "Allow"
$getRule=$ruleCollection.GetRuleByName("ALL-UDP-traffic")

此範例會使用一個規則建立新的網路規則集合,然後依名稱取得規則,並在規則集合物件上呼叫 GetRuleByName 方法。 GetRuleByName 方法的規則名稱不區分大小寫。

4:從規則集合中移除規則

$rule1 = New-AzureRmFirewallNetworkRule -Name "all-udp-traffic" -Description "Rule for all UDP traffic" -Protocol UDP -SourceAddress "*" -DestinationAddress "*" -DestinationPort "*"
$rule2 = New-AzureRmFirewallNetworkRule -Name "partial-tcp-rule" -Description "Rule for all TCP traffic from 10.0.0.0 to 60.1.5.0:4040" -Protocol TCP -SourceAddress "10.0.0.0" -DestinationAddress "60.1.5.0" -DestinationPort "4040"
$ruleCollection = New-AzureRmFirewallNetworkRuleCollection -Name "MyNetworkRuleCollection" -Priority 100 -Rule $rule1, $rule2 -ActionType "Allow"
$ruleCollection.RemoveRuleByName("ALL-udp-traffic")

此範例會建立具有兩個規則的新網路規則集合,然後在規則集合物件上呼叫 RemoveRuleByName 方法,從規則集合中移除第一個規則。 RemoveRuleByName 方法的規則名稱不區分大小寫。

參數

-ActionType

指定要針對此規則之流量比對條件採取的動作。 接受的動作為「允許」或「拒絕」。

類型:String
接受的值:Allow, Deny
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
別名:AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Name

指定此網路規則集合的名稱。 名稱在所有網路規則集合中都必須是唯一的。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Priority

指定此規則集合的優先順序。 優先順序是介於 100 到 65000 之間的數位。 數字愈小,優先順序愈高。

類型:UInt32
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Rule

指定要在此集合下分組的規則清單。

類型:List<T>[PSAzureFirewallNetworkRule]
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

None

此 Cmdlet 不接受任何輸入。

輸出

Microsoft.Azure.Commands.Network.Models.PSFirewallNetworkRuleCollection