Более простой способ получения общедоступного IP-адреса виртуальной машины Azure. - PullRequest
0 голосов
/ 06 ноября 2018

Используя имя / группу ресурсов конкретной виртуальной машины, я пытаюсь получить публичный IP-адрес виртуальной машины.

Этот код работает , но кажется громоздким по сравнению с другими командлетами AzureRM.

$VM = Get-AzureRmVM -ResourceGroupName MyResourceGroup -Name MyVMName
$NIC = $VM.NetworkProfile.NetworkInterfaces[0].Id -replace '.*\/'
$NI = Get-AzureRmNetworkInterface -Name $NIC -ResourceGroupName MyResourceGroup
$NIIC = Get-AzureRmNetworkInterfaceIpConfig -NetworkInterface $NI
$PIP = $NIIC.PublicIpAddress.Id -replace '.*\/'
$PIP = Get-AzureRmPublicIpAddress -Name $PIP -ResourceGroupName MyResourceGroup
$PIP.IpAddress

Существует ли более быстрый / простой / короткий способ доступа к этой информации?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Попробуйте команду CLI Azure:

az vm list-ip-addresses -g groupName -n vmName --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" -o tsv

Или команда PowerShell просто отфильтруйте по имени vm:

$ipAddress= (Get-AzureRmPublicIpAddress -ResourceGroupName groupName | Where-Object { $_.IpConfiguration.Id -like "*vmName*" }
)
$ipAddress.IpAddress
0 голосов
/ 06 ноября 2018

Насколько я знаю, пока не для PowerShell. Но вы можете использовать Azure CLI

az vm list-ip-addresses -n <VMName> -g <ResourceGroup> | grep publicIpAddresses

enter image description here

...