azure - Azure Powershell(Az 模块)获取公共 IP 地址
问题描述
使用 Azure 的新 Az 模块,是否有人具有使用名称获取 Azure VM 的公共 IP 地址的语法?commandletGet-AzPublicIpAddress
没有 VM 名称的参数,只有 IP 对象名称
这可行,但我在这里没有使用机器名称,它是 IP 对象本身的名称:
$CurrentIp = (Get-AzPublicIpAddress -ResourceGroupName 'RG1' -Name 'MyVMname-ip').IpAddress
我不知道如何从 VM 对象中获取它,即这不起作用:
Get-AzVM -ResourceGroupName 'RG1' -Name 'MyVMname' | Get-AzPublicIpAddress
解决方案
Get-AzPublicIpAddress
据我所知,仅通过一个带有 VM 名称的PowerShell 来获取 VM 公共 IP 是不可能的。Azure 中的公共 IP 是与网络接口关联的单独资源,而不是与 VM 关联的资源。
如您所见,该文档中没有用于获取公共 IP 的 VM 名称参数。但是您可以通过 PowerShell 脚本仅使用 VM 名称和资源组名称获取公共 IP。脚本如下所示:
$vm = Get-AzureRmVM -ResourceGroupName yourRG -Name vmNamme
$nic = $vm.NetworkProfile.NetworkInterfaces[0].Id.Split('/') | select -Last 1
$publicIpName = (Get-AzureRmNetworkInterface -ResourceGroupName yourRG -Name $nic).IpConfigurations.PublicIpAddress.Id.Split('/') | select -Last 1
$publicIpAddress = (Get-AzureRmPublicIpAddress -ResourceGroupName yourRG -Name $publicIpName).IpAddress
Write-Output $vmName $publicIpAddress
或者只需一个 CLI 命令来获取公共 IP,如下所示:
az vm show -d -g yourRG -n vmName --query publicIps
推荐阅读
- machine-learning - 具有两个文本特征的逻辑回归
- flutter - Flutter 对齐堆栈上相同位置的两个小部件
- svn - Subversion工作副本:如何让它记住文件时间
- reactjs - 循环中的 Material UI KeyboardTimepicker 始终具有相同的值
- quickfixj - QuickFIX/J - 将日志输出到文本文件/控制台
- c# - 如何使用可空布尔参数返回可空短
- python - Python AWS lambda python 启动钩子?
- xcode - 来自 SPM 的 Swift Xcode .xcconfig
- ruby - 在 Ruby 中添加节点时出现 NoMethodError
- questdb - 运行嵌入式时如何访问 QuestDB Web 控制台?