如何使用Azure CLI命令获取虚拟机的公共IP地址

18

我想要在Azure的Bash命令行中为特定虚拟机获取公共IP地址,到目前为止,我已经使用了这个命令,但它返回网络接口信息:

az vm list-ip-addresses -g dev-rg -n dev-vm

返回值:

[
  {
    "virtualMachine": {
      "name": "dev-vm",
      "network": {
        "privateIpAddresses": [
          "10.0.0.5"
        ],
        "publicIpAddresses": [
          {
            "id": "/subscriptions/*********/resourceGroups/dev-rg/providers/Microsoft.Network/publicIPAddresses/dev-vmPublicIP",
            "ipAddress": "52.142.***.***",
            "ipAllocationMethod": "Dynamic",
            "name": "dev-vmPublicIP",
            "resourceGroup": "dev-rg"
          }
        ]
      },
      "resourceGroup": "dev-rg"
    }
  }
]

我只需要 IP 地址值,应该长这样:52.142.xxx.xxx

4个回答

31

您可以使用CLI命令az vm show -d -g resourceGroupName -n vmName --query publicIps -o tsv 输出公共IP地址。

它的显示结果如下:

enter image description here


6

你也可以继续使用你的初始想法(关键点是--query--output参数):

az vm list-ip-addresses --resource-group dev-rg --name dev-vm --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" --output tsv

根据文档说明,使用az vm show --show-details可能会很慢。

3
如果您想为许多计算机获取公共IP,则也可以使用az network public-ip
az network public-ip list -o table

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接