使用Azure CLI,可以创建公共IP地址并为其分配例如
在给定资源组和区域中创建公共IP
azure network public-ip create -g myresourcegroup -a Dynamic -l westus mypublicipname
将上一步创建的点数分配给现有的资料
azure network nic set -g myresourcegroup -p mypublicipname mynicname
然而,PowerShell中的类似代码不起作用,例如
创建新的点子(成功完成)
$pip = New-AzureRmPublicIpAddress -Name $pipName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic -Force
分配给现有的资料
$nic = Get-AzureRmNetworkInterface -ResourceGroupName $rgName -Name $nicName
$nic.IpConfigurations[0].PublicIpAddress = $pip.IpAddress
最后一行不起作用并引发以下错误:
The property 'Id' cannot be found on this object. Verify that the property exists and can be set.
At line:31 char:9
+ $nic.IpConfigurations[0].PublicIpAddress.Id = $pip.Id
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound
尽管PS ISE中的intellisense确实显示了两者的Id属性!有谁知道这应该有用吗?
答案 0 :(得分:4)
感谢AzureCAT的Tim Wieman(MSFT)提供的解决方案!基本上,您需要将新创建的pip分配给nic的PublicIPAddress属性,然后运行Set-AzureRmNetworkInterface命令,如下所示:
$nic.IpConfigurations[0].PublicIpAddress = $pip
Set-AzureRmNetworkInterface -NetworkInterface $nic