首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么azure子网没有subnet.id参数

为什么azure子网没有subnet.id参数
EN

Stack Overflow用户
提问于 2019-06-09 21:42:10
回答 1查看 633关注 0票数 1

我有以下生成3个子网的简单代码:

代码语言:javascript
复制
$resourceGroupName = "Test1"
$location = "West Europe"
$VNetName = "Test-VM"
$VNetIPRange = "192.168.0.0/21"
$SubnetAName = "SubA"
$SubnetAIPRange = "192.168.0.0/24"
$SubnetBName = "SubB"
$SubnetBIPRange = "192.168.1.0/24"
$SubnetCName = "SubC"
$SubnetCIPRange = "192.168.2.0/24"

New-AzResourceGroup -name $resourceGroupName -Location $location -Verbose

# subnets & vnet
$subnets = New-AzVirtualNetworkSubnetConfig `
    -Name $SubnetAName `
    -AddressPrefix $SubnetAIPRange `
    -Verbose
$vnet = New-AzVirtualNetwork `
    -Name $VNetName `
    -AddressPrefix $VNetIPRange `
    -Subnet $subnets `
    -ResourceGroupName $resourceGroupName `
    -Location $location `
    -Verbose
Add-AzVirtualNetworkSubnetConfig `
    -VirtualNetwork $vnet `
    -Name $SubnetBName `
    -AddressPrefix $SubnetBIPRange `
    -Verbose
Add-AzVirtualNetworkSubnetConfig `
    -VirtualNetwork $vnet `
    -Name $SubnetCName `
    -AddressPrefix $SubnetCIPRange `
    -Verbose
Set-AzVirtualNetwork `
    -VirtualNetwork $vnet `
    -Verbose

代码成功运行,并生成了预期的结果,但有一件事例外。只有SubA有完整的信息。对于子网B和C,只有以下配置如下所示:

代码语言:javascript
复制
                       {
                         "Name": "SubB",
                         "AddressPrefix": [
                           "192.168.1.0/24"
                         ]
                       }

这样我就不能像这样引用子网Id:

代码语言:javascript
复制
  -SubnetId $vnet.Subnets[1].Id `

因为该字段为空:(

代码中是否有错误,或者我是否应该引用不同的子网id?

我想把一些虚拟机放在不同的子网中,在我运行上面的代码后,只有SubA有SubnetID。

代码语言:javascript
复制
                     {
                         "Delegations": [],
                         "Name": "SubA",
                         "Etag": "W/\"01baac3e-3fc3-400b-a6f1-64b08f5b45e7\"",
                         "Id": "/subscriptions/XXX/resourceGroups/Test1/providers/Microsoft.Network/virtua
                     lNetworks/Test-VM/subnets/SubA",
                         "AddressPrefix": [
                           "192.168.0.0/24"
                         ],
                         "IpConfigurations": [],
                         "ServiceAssociationLinks": [],
                         "ResourceNavigationLinks": [],
                         "ServiceEndpoints": [],
                         "ServiceEndpointPolicies": [],
                         "InterfaceEndpoints": [],
                         "ProvisioningState": "Succeeded"
                       },
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 10:38:19

我测试了你的代码,我可以重现你的问题,只需在你的代码之后使用Get-AzVirtualNetwork,然后你就可以得到其他两个子网的Id

代码语言:javascript
复制
$vnet = Get-AzVirtualNetwork -ResourceGroupName $resourceGroupName -Name $VNetName
$vnet.Subnets[1].Id
$vnet.Subnets[2].Id

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56515073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档