【发布时间】:2019-12-19 13:52:07
【问题描述】:
我们需要能够快速修改 20 多个路由表。
我们有 2 个 NVA 可以充当下一跳,但我们无法找到正确的解决方案。
我们陷入了困境:
$groupname = Get-AzResourceGroup | Out-GridView –PassThru | Select -ExpandProperty ResourceGroupName
$rt = Get-AzRouteTable -ResourceGroupName $groupname | Out-GridView -PassThru
$oldroutes = Get-AzRouteTable -ResourceGroupName $groupname | Get-AzRouteConfig | Where-Object -Property NextHopIpAddress -Like 1.1.1.1 | Select -ExpandProperty Name
foreach ($oldroutes in $oldroutes)
{
Set-AzRouteConfig -RouteTable $rt -Name $oldroute -NextHopIpAddress 2.2.2.2 | Set-AzRoutetable }
这适用于能够遍历所有路由表并识别具有下一跳为 1.1.1.1 的所有路由并将它们存储在名为 $oldroutes 的变量中的部分,并且仅选择 Set 所需的路由名称-AZRouteConfig 命令。
它运行正确,直到设置部分。而不是修改它只是将 NextHopIpAddress 设置为 2.2.2.2 并删除所有其他值,因此当我们尝试提交更改时会出现错误。
Set-AzRoutetable : 资源的地址前缀字符串......不能为空
有没有人这样做过,或者我们可能遗漏了什么?
提前谢谢你!
【问题讨论】:
标签: azure powershell