共用方式為


New-AzureRmFirewall

在資源群組中建立新的防火牆。

警告

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

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

語法

New-AzureRmFirewall
   -Name <String>
   -ResourceGroupName <String>
   -Location <String>
   [-VirtualNetworkName <String>]
   [-PublicIpName <String>]
   [-ApplicationRuleCollection <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSAzureFirewallApplicationRuleCollection]>]
   [-NatRuleCollection <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSAzureFirewallNatRuleCollection]>]
   [-NetworkRuleCollection <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSAzureFirewallNetworkRuleCollection]>]
   [-Tag <Hashtable>]
   [-Force]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzureRmFirewall Cmdlet 會建立 Azure 防火牆。

範例

1:建立連結至虛擬網路的防火牆

New-AzureRmFirewall -Name "azFw" -ResourceGroupName "rg" -Location centralus -VirtualNetworkName "vnet" -PublicIpName "pip-name"

此範例會在與防火牆相同的資源群組中建立連結至虛擬網路 「vnet」 的防火牆。 由於未指定任何規則,防火牆會封鎖所有流量(預設行為)。

2:建立允許所有 HTTPS 流量的防火牆

$rule = New-AzureRmFirewallApplicationRule -Name R1 -Protocol "https:443" -TargetFqdn "*" 
$ruleCollection = New-AzureRmFirewallApplicationRuleCollection -Name RC1 -Priority 100 -Rule $rule -ActionType "Allow"
New-AzureRmFirewall -Name "azFw" -ResourceGroupName "rg" -Location centralus -VirtualNetworkName "vnet" -PublicIpName "pip-name" -ApplicationRuleCollection $ruleCollection

此範例會建立防火牆,以允許埠 443 上的所有 HTTPS 流量。

3:DNAT - 將目的地為 10.1.2.3:80 的流量重新導向至 10.2.3.4:8080

$rule = New-AzureRmFirewallNatRule -Name "natRule" -Protocol "TCP" -SourceAddress "*" -DestinationAddress "10.1.2.3" -DestinationPort "80" -TranslatedAddress "10.2.3.4" -TranslatedPort "8080"
$ruleCollection = New-AzureRmFirewallNatRuleCollection -Name "NatRuleCollection" -Priority 1000 -Rule $rule
New-AzureRmFirewall -Name "azFw" -ResourceGroupName "rg" -Location centralus -NatRuleCollection $ruleCollection

此範例建立了防火牆,將目的地 IP 和埠轉譯為 10.1.2.3:80 到 10.2.3.4:8080 的所有封包的目的地 IP 和埠

參數

-ApplicationRuleCollection

指定新防火牆的應用程式規則集合。

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

-AsJob

在背景執行 Cmdlet

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

-Confirm

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

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

-DefaultProfile

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

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

-Force

強制命令執行,而不要求使用者確認。

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

-Location

指定防火牆的區域。

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

-Name

指定這個 Cmdlet 所建立之 Azure 防火牆 的名稱。

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

-NatRuleCollection

AzureFirewallNatRuleCollections 的列表

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

-NetworkRuleCollection

AzureFirewallNetworkRuleCollections 的列表

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

-PublicIpName

公用Ip名稱。 公用IP必須使用標準SKU,且必須屬於與防火牆相同的資源群組。

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

-ResourceGroupName

指定要包含防火牆的資源群組名稱。

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

-Tag

哈希表形式的索引鍵/值組。 例如:

@{key0=“value0”;key1=$null;key2=“value2”}

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

-VirtualNetworkName

指定要部署防火牆的虛擬網路名稱。 虛擬網路和防火牆必須屬於相同的資源群組。

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

-WhatIf

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

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

輸入

None

此 Cmdlet 不接受任何輸入。

輸出

Microsoft.Azure.Commands.Network.Models.PSFirewall