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