获取虚拟机名称和FQDN

时间:2018-10-04 15:48:31

标签: azure-powershell

我正在尝试编写Powershell查询以获取VM名称和FQDM,这就是我所拥有的,但是它没有返回FQDN

Get-AzureRmVm | Select-Object Name , @{Name="FullyQualifiedDomainName"; Expression={$_.ToPSVirtualMachine().FullyQualifiedDomainName.Value}} | Format-Table

更新1

所以我能够先获得VM,再获得FQDN,我觉得它足够安全,可以这样做,因为我知道单个RSG甚至只包含一个VM和一个FQDN,因此它很安全我以为它们是链接的。

Get-AzureRmVm | Foreach-Object{Get-AzureRmPublicIpAddress -ResourceGroupName $_.ResourceGroupName} | Select-Object ResourceGroupName, Name , Location , @{Name="FQDN"; Expression={$_.DnsSettings.Fqdn}}

但是由于Foreach的原因,它很慢,想知道是否有人对此有其他建议。

1 个答案:

答案 0 :(得分:1)

创建Azure VM时,将自动创建VM的公共IP资源。请参阅this。在Azure门户中没有为VM创建FQDN。创建虚拟机后即可配置它。您无法使用AzureRM.Compute模块直接获取FQDN,因为FQDN或DNS名称不是VM的属性,而是公共IP地址配置。

您可以使用

获取Azure VM的FQDN。
(Get-AzureRmPublicIpAddress -ResourceGroupName $rg -Name $publicipaddress ).DnsSettings.Fqdn

enter image description here