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