共用方式為


New-AzureRmFirewallApplicationRuleCollection

建立防火牆應用程式規則的集合。

警告

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

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

語法

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

Description

New-AzureRmFirewallApplicationRuleCollection Cmdlet 會建立防火牆應用程式規則的集合。

範例

1:使用一個規則建立集合

$rule1 = New-AzureRmFirewallApplicationRule -Name "httpsRule" -Protocol "https:443" -TargetFqdn "*" -SourceAddress "10.0.0.0"
New-AzureRmFirewallApplicationRuleCollection -Name "MyAppRuleCollection" -Priority 1000 -Rule $rule1 -ActionType "Allow"

此範例會建立具有一個規則的集合。 允許符合 $rule 1 中所識別條件的所有流量。 第一個規則適用於埠 443 上 10.0.0.0.0 的所有 HTTPS 流量。 如果有另一個優先順序較高的應用程式規則集合(較小的數位)也符合$rule 1 中所識別的流量,則具有較高優先順序的規則集合動作會改為生效。

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

$rule1 = New-AzureRmFirewallApplicationRule -Name R1 -Protocol "http:80","https:443" -TargetFqdn "*google.com", "*microsoft.com" -SourceAddress "10.0.0.0"
$ruleCollection = New-AzureRmFirewallApplicationRuleCollection -Name "MyAppRuleCollection" -Priority 100 -Rule $rule1 -ActionType "Allow"

$rule2 = New-AzureRmFirewallApplicationRule -Name R2 -Protocol "http:80","https:443" -TargetFqdn "*google.com", "*microsoft.com" 
$ruleCollection.AddRule($rule2)

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

3:從規則集合取得規則

$rule1 = New-AzureRmFirewallApplicationRule -Name R1 -Protocol "http:80","https:443" -TargetFqdn "*google.com", "*microsoft.com" -SourceAddress "10.0.0.0"
$ruleCollection = New-AzureRmFirewallApplicationRuleCollection -Name "MyAppRuleCollection" -Priority 100 -Rule $rule1 -ActionType "Allow"
$getRule=$ruleCollection.GetRuleByName("r1")

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

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

$rule1 = New-AzureRmFirewallApplicationRule -Name R1 -Protocol "http:80","https:443" -TargetFqdn "*google.com", "*microsoft.com" -SourceAddress "10.0.0.0"
$rule2 = New-AzureRmFirewallApplicationRule -Name R2 -Protocol "http:80","https:443" -TargetFqdn "*google.com", "*microsoft.com" 
$ruleCollection = New-AzureRmFirewallApplicationRuleCollection -Name "MyAppRuleCollection" -Priority 100 -Rule $rule1, $rule1 -ActionType "Allow"
$ruleCollection.RemoveRuleByName("r1")

此範例會建立具有兩個規則的新應用程式規則集合,然後在規則集合物件上呼叫 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>[PSAzureFirewallApplicationRule]
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-WhatIf

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

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

輸入

None

此 Cmdlet 不接受任何輸入。

輸出

Microsoft.Azure.Commands.Network.Models.PSFirewallApplicationRuleCollection