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

Ehs*_*adi 3 azure azure-cli azure-cli2

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

az vm list-ip-addresses -g dev-rg -n dev-vm
Run Code Online (Sandbox Code Playgroud)

返回值:

[
  {
    "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"
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

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

fla*_*ags 7

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

az vm list-ip-addresses --resource-group dev-rg --name dev-vm --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" --output tsv
Run Code Online (Sandbox Code Playgroud)

正如文档所述,使用az vm show --show-details可能会很慢。


Cha*_* Xu 5

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

它就像这样显示:

在此处输入图片说明