13

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

4 回答 4

24

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

它只是这样显示:

在此处输入图像描述

于 2019-03-04T09:34:46.740 回答
3

你也可以继续你最初的想法(关键点是--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可能会很慢。

于 2021-04-06T23:26:16.507 回答
0

短命令

az vm list-ip-addresses -n SampleVM -o table

参考:

https://docs.microsoft.com/en-us/learn/modules/manage-virtual-machines-with-azure-cli/6-querying-vms

于 2021-11-25T18:14:27.787 回答
0

如果您想获取多台机器的公共 IP,您还可以使用以下az network public-ip 命令列出公共 IP 地址

az network public-ip list -o table
于 2021-12-14T08:20:15.687 回答