You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Get-DnsServerResourceRecord获取完整反向DNS主机名?

解决反向DNS区域导出完整主机名与RecordData的CSV方法

直接借助PowerShell结合DNS区域属性与记录字段就能快速处理,无需复杂的自定义反转函数,具体步骤和脚本如下:

  • 遍历所有反向DNS区域,筛选出PTR类型的资源记录(反向区域核心记录类型)
  • 通过区域名称提取IP前缀,结合记录的HostName拼接出完整IP地址
  • 直接读取PTR记录的RecordData.PtrDomainName字段作为完整主机名

以下是可直接运行的脚本:

# 获取所有主类型的反向DNS区域
$reverseZones = Get-DnsServerZone | Where-Object { $_.ZoneType -eq 'Primary' -and $_.IsReverseLookupZone -eq $true }

# 初始化结果存储数组
$dnsRecords = @()

foreach ($zone in $reverseZones) {
    # 剥离区域名称的arpa后缀,提取IP前缀部分
    $zonePrefix = $zone.ZoneName -replace '\.in-addr\.arpa$|\.ip6\.arpa$', ''
    
    # 处理IPv4反向区域:反转前缀段得到IP的前几位
    if ($zone.ZoneName -match '\.in-addr\.arpa$') {
        $ipPrefixParts = $zonePrefix.Split('.') | Reverse
        $ipPrefix = $ipPrefixParts -join '.'
    } else {
        # IPv6反向区域前缀直接保留(如需完整IPv6地址可扩展逻辑)
        $ipPrefix = $zonePrefix
    }

    # 获取当前区域内所有PTR记录
    $records = Get-DnsServerResourceRecord -ZoneName $zone.ZoneName -RRType PTR

    foreach ($record in $records) {
        # 拼接完整IP地址
        $fullIp = if ($zone.ZoneName -match '\.in-addr\.arpa$') {
            "$ipPrefix.$($record.HostName)"
        } else {
            "$($record.HostName).$zonePrefix"
        }

        # 构造记录对象
        $dnsRecord = [PSCustomObject]@{
            FullIPAddress = $fullIp
            FullHostName  = $record.RecordData.PtrDomainName
            RecordData    = $record.RecordData.ToString()
            SourceZone    = $zone.ZoneName
        }
        $dnsRecords += $dnsRecord
    }
}

# 导出到CSV文件
$dnsRecords | Export-Csv -Path 'ReverseDNS_FullRecords.csv' -NoTypeInformation -Encoding UTF8

关键说明:

  • 反向区域名称本身包含了IP段的前缀信息(比如192.168.1.in-addr.arpa对应192.168.1.x网段),拆分反转后即可与记录的HostName拼接成完整IP
  • PTR记录的PtrDomainName字段就是对应的完整主机名,之前解析无效大概率是因为未筛选PTR类型记录,误处理了其他类型记录
  • 脚本同时兼容IPv4和IPv6反向区域,IPv6的完整地址拼接逻辑可根据实际需求进一步扩展

内容的提问来源于stack exchange,提问作者L. Landgraf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 13:54:59