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

时间:2019-03-04 09:31:46

标签: azure azure-cli azure-cli2

我想在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

2 个答案:

答案 0 :(得分:2)

您只需使用CLI命令az vm show -d -g reousrceGroupName -n vmName --query publicIps -o tsv即可输出公共IP。

它只是这样显示:

enter image description here

答案 1 :(得分:1)

您也可以继续您最初的想法(关键点是 --query--output 参数):

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

作为 documentation states,使用 az vm show --show-details 可能会很慢。