gpt4 book ai didi

azure - 为什么使用 Azure 资源管理器 Powershell cmdlet 创建的子网 ID 为空?

转载 作者:行者123 更新时间:2023-12-05 09:20:46 25 4
gpt4 key购买 nike

我正在尝试在 Azure 中配置一些网络资源,但在尝试引用先前创建的子网的 Id 属性的步骤中遇到了阻止程序。

以下是检索子网详细信息的命令:


$gwsubnet = Get-AzureRmVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet

然后在控制台输出$gwsubnet的值:


名称:网关子网
ID :
电子标签:
配置状态:
地址前缀:10.1.1.0/24
Ip配置:空
网络安全组:空
路由表:空

请注意,Id 属性为 null。这会导致后续步骤出错,例如:


$gwipconfig = New-AzureRmVirtualNetworkGatewayIpConfig -名称 config1 -SubnetId $gwsubnet.Id -PublicIpAddressId $gwpip.Id

出现以下错误:


New-AzureRmVirtualNetworkGatewayIpConfig:无法验证参数“SubnetId”的参数。参数为 null 或为空。提供一个不为 null 或空的参数,然后尝试
再次命令。
行:1 字符:99
+ ... nfig -SubnetId $gwsubnet.Id -PublicIpAddressId $gwpip.Id
+ ~~~~~~~~~~~~
+ CategoryInfo:无效数据:(:) [New-AzureRmVirtualNetworkGatewayIpConfig],ParameterBindingValidationException
+FullyQualifiedErrorId:ParameterArgumentValidationError,Microsoft.Azure.Commands.Network.NewAzureVirtualNetworkGatewayIpConfigCommand

我正在努力解决如何为我的子网分配一个Id。这是我需要注销/再次登录才能看到的东西吗?感谢您的帮助。

最佳答案

您遇到的问题是,在创建虚拟网络之前,不会创建子网 ID。

当您运行Get-AzureRmVirtualNetworkSubnetConfig时,您创建的只是附加到New-AzureRmVirtualNetwork的配置。运行该命令后,它将连接到Azure,部署Vnet ,创建子网,在该状态下它将创建一个子网 ID。

下面的代码将告诉你我的意思...

$DNSNameLabel = "mydnsname"
$NetworkName = "MyNet"
$NICName = "MyNIC"
$PublicIPAddressName = "MyPIP"
$SubnetName = "MySubnet"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"

$SingleSubnet = New-AzureRmVirtualNetworkSubnetConfig `
-Name $SubnetName `
-AddressPrefix $SubnetAddressPrefix

#At this point nothing is created, so there is no valid subnet id

$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName `
-ResourceGroupName $ResourceGroupName `
-Location $LocationName `
-AddressPrefix $VnetAddressPrefix `
-Subnet $SingleSubnet

#vnet and subnet are created, both get an id and etag

$vnet = Get-AzureRmVirtualNetwork -Name $NetworkName
-ResourceGroupName $ResourceGroupName

$vnet.Subnets[0].Id

这将给出

/subscriptions/{Subscription ID}/resourceGroups/MyResourceGroup/providers/Microsoft.Network/virtualNetworks/MyNet/subnets/MySubnet

关于azure - 为什么使用 Azure 资源管理器 Powershell cmdlet 创建的子网 ID 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36289702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com