在PowerShell中从CNAME解析主机名

fzwojiic  于 2022-11-10  发布在  Shell
关注(0)|答案(3)|浏览(278)

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

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

我得到了两个结果,一个是webserver.999.com,另一个是实际的服务器名称POST,解析带有CNAME的服务器的域名,但只有不存在CNAME条目的服务器名称。我正在寻找一种解决方案,其中命令捕获的结果只有服务器名称。

5lhxktic

5lhxktic1#

选择作为A记录的结果:

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

nr9pn0ug2#

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

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

4dc9hkyq3#

另一种方法是返回CNAME的原始主机名、原始A名称或具有服务器相同IP的附加A名称,只要PTR记录得到正确维护并指向原始主机名。

(resolve-dnsname (resolve-dnsname webserver.999.com).ipaddress ptr).namehost

相关问题