你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzVirtualNetwork

创建虚拟网络。

语法

New-AzVirtualNetwork
   -Name <String>
   -ResourceGroupName <String>
   -Location <String>
   -AddressPrefix <String[]>
   [-DnsServer <String[]>]
   [-FlowTimeout <Int32>]
   [-Subnet <PSSubnet[]>]
   [-BgpCommunity <String>]
   [-EnableEncryption <String>]
   [-EncryptionEnforcementPolicy <String>]
   [-Tag <Hashtable>]
   [-EnableDdosProtection]
   [-DdosProtectionPlanId <String>]
   [-IpAllocation <PSIpAllocation[]>]
   [-EdgeZone <String>]
   [-Force]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

New-AzVirtualNetwork cmdlet 创建 Azure 虚拟网络。

示例

示例 1:创建包含两个子网的虚拟网络

New-AzResourceGroup -Name TestResourceGroup -Location centralus
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24"
$backendSubnet  = New-AzVirtualNetworkSubnetConfig -Name backendSubnet  -AddressPrefix "10.0.2.0/24"
New-AzVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup -Location centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet,$backendSubnet

此示例创建包含两个子网的虚拟网络。 首先,在中心区域中创建新的资源组。 然后,该示例创建两个子网的内存中表示形式。 New-AzVirtualNetworkSubnetConfig cmdlet 不会在服务器端创建任何子网。 有一个名为 frontendSubnet 的子网和一个名为 backendSubnet 的子网。 然后,New-AzVirtualNetwork cmdlet 使用 CIDR 10.0.0.0/16 作为地址前缀和两个子网创建虚拟网络。

示例 2:使用 DNS 设置创建虚拟网络

New-AzResourceGroup -Name TestResourceGroup -Location centralus
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24"
$backendSubnet  = New-AzVirtualNetworkSubnetConfig -Name backendSubnet  -AddressPrefix "10.0.2.0/24"
New-AzVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup -Location centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet,$backendSubnet -DnsServer 10.0.1.5,10.0.1.6

此示例创建一个包含两个子网和两个 DNS 服务器的虚拟网络。 在虚拟网络上指定 DNS 服务器的结果是,部署到此虚拟网络的 NIC/VM 会继承这些 DNS 服务器作为默认值。 可以通过 NIC 级别设置覆盖每个 NIC 的默认值。 如果未在 VNET 上指定 DNS 服务器,并且 NIC 上没有 DNS 服务器,则默认的 Azure DNS 服务器用于 DNS 解析。

示例 3:创建包含引用网络安全组的子网的虚拟网络

New-AzResourceGroup -Name TestResourceGroup -Location centralus
$rdpRule              = New-AzNetworkSecurityRuleConfig -Name rdp-rule -Description "Allow RDP" -Access Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389
$networkSecurityGroup = New-AzNetworkSecurityGroup -ResourceGroupName TestResourceGroup -Location centralus -Name "NSG-FrontEnd" -SecurityRules $rdpRule
$frontendSubnet       = New-AzVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "10.0.1.0/24" -NetworkSecurityGroup $networkSecurityGroup
$backendSubnet        = New-AzVirtualNetworkSubnetConfig -Name backendSubnet  -AddressPrefix "10.0.2.0/24" -NetworkSecurityGroup $networkSecurityGroup
New-AzVirtualNetwork -Name MyVirtualNetwork -ResourceGroupName TestResourceGroup -Location centralus -AddressPrefix "10.0.0.0/16" -Subnet $frontendSubnet,$backendSubnet

此示例创建包含引用网络安全组的子网的虚拟网络。 首先,该示例将资源组创建为将要创建的资源的容器。 然后,将创建允许入站 RDP 访问的网络安全组,但否则会强制实施默认网络安全组规则。 然后,New-AzVirtualNetworkSubnetConfig cmdlet 会创建两个子网的内存中表示形式,这些子网引用已创建的网络安全组。 然后,New-AzVirtualNetwork 命令创建虚拟网络。

参数

-AddressPrefix

指定虚拟网络的 IP 地址范围。

类型:String[]
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-AsJob

在后台运行 cmdlet

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-BgpCommunity

通过 ExpressRoute 播发的 BGP 社区。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-DdosProtectionPlanId

引用与虚拟网络关联的 DDoS 保护计划资源。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DnsServer

指定子网的 DNS 服务器。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-EdgeZone

{{ Fill EdgeZone Description }}

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-EnableDdosProtection

一个开关参数,表示是否启用了 DDoS 保护。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-EnableEncryption

指示是否在虚拟网络上启用加密。 若要在虚拟网络上启用加密,该值应为 true,否则为 false 以禁用加密。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-EncryptionEnforcementPolicy

设置 Encryption EnforcementPolicy。 应允许 AllowUnencrypted 允许在加密虚拟网络中没有加密功能的 VM,或者 dropUnencrypted 禁用任何 VM,而无需将加密功能添加到加密的虚拟网络中。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-FlowTimeout

FlowTimeout 为 VM 内部流启用连接跟踪。 该值应介于 4 到 30 分钟(含)之间,以启用跟踪,或为 null 以禁用跟踪。

类型:Nullable<T>[Int32]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Force

强制运行命令而不要求用户确认。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IpAllocation

指定虚拟网络的 IpAllocations。

类型:PSIpAllocation[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Location

指定虚拟网络的区域。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Name

指定此 cmdlet 创建的虚拟网络的名称。

类型:String
别名:ResourceName
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ResourceGroupName

指定要包含虚拟网络的资源组的名称。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Subnet

指定要与虚拟网络关联的子网列表。

类型:PSSubnet[]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Tag

以哈希表的形式进行键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

类型:Hashtable
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

String[]

PSSubnet[]

Hashtable

输出

PSVirtualNetwork