在PowerShell中从CNAME解析主机名

时间:2018-07-20 22:52:23

标签: powershell

我有一个网络,其中CNAME条目是为某些服务器而不是其他服务器创建的。如何通过执行Resolve-DnsName脚本来单独获取服务器名称的详细信息?

如果我尝试

$servername = Resolve-DnsName -Name webserver.999.com
Write-Host $servername.Name

我得到2个结果,一个是通过webserver.999.com获得的,另一个是带有实际服务器名称的结果,它发布了解析具有CNAME的服务器的DNS的信息,但只有不存在CNAME条目的服务器名称。我正在寻找一种解决方案,其中命令仅使用服务器名称捕获结果。

2 个答案:

答案 0 :(得分:5)

选择结果为A记录:

Resolve-DnsName -Name foo.example.com |
    Where-Object { $_.QueryType -eq 'A' } |
    Select-Object -Expand Name

答案 1 :(得分:2)

要将CNAME转换为原始主机名:

Resolve-DnsName 'webserver.999.com' -Type CNAME |
    Select-Object -ExpandProperty 'NameHost'