我正在尝试编写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的原因,它很慢,想知道是否有人对此有其他建议。
答案 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