首页 > 解决方案 > 如何在Azure资源组的负载均衡器的后端地址池下获取VM名称

问题描述

我尝试了以下命令,将 vmname 和后端池名称获取到 Excel 表。但它只显示虚拟机而不是后端池名称。

在此处输入图像描述 读取 rgName 时执行 vmlist=$(az vm list -g $rgName --query [].name -o tsv)

for vm in $vmlist
do
nicId=$(az vm show -g $rgName -n $vm --query networkProfile.networkInterfaces[].id -o tsv)

backendPoolId=$(az network nic show --ids $nicId --query ipConfigurations[].loadBalancerBackendAddressPools[].id -o tsv)

backendPoolName=${backendPoolId##*/}

done

echo $vmlist,$backendPoolName >> test.csv

done < ilb_group

标签: azureazure-cli

解决方案


要检索 VM 和 backendPoolName,您可以使用以下 bash 脚本。

#!/bin/bash

rgName=nancylbrg 
vmlist=$(az vm list -g $rgName --query [].name -o tsv)

for vm in $vmlist
do
nicId=$(az vm show -g $rgName -n $vm --query networkProfile.networkInterfaces[].id -o tsv)

backendPoolId=$(az network nic show --ids $nicId --query ipConfigurations[].loadBalancerBackendAddressPools[].id -o tsv)

backendPoolName=${backendPoolId##*/}

done

echo $vmlist,$backendPoolName

结果

在此处输入图像描述

在此处输入图像描述


推荐阅读