在所有正向查找区域中查询DNS服务器以获取特定IP地址?

时间:2020-08-14 14:14:31

标签: powershell dns

我正在为100个以上的正向查找区域运行Windows Server DNS。 我需要查找哪个正向查找ZOnes或DNS条目正在使用特定的IP地址?

因此输入将为:192.0.2.4(任何IP地址) 结果:任何包含上述IP地址的正向查找区域及其DNS条目。

这里的目标是找到由于旧IP地址而不再有效的DNS条目。

不起作用的示例:

Get-DnsServerResourceRecord -ZoneName * | Where-Object {$_.IPv4Address.IPAddressToString -contains '192.0.2.4' }

1 个答案:

答案 0 :(得分:1)

您可以先查询您的区域并遍历它们:

$zones = Get-DnsServerZone | where {!$_.IsReverseLookupZone -and $_.ZoneType -eq 'Primary'}
foreach ($zone in $zones) {
    Get-DnsServerResourceRecord -ZoneName $zone.ZoneName |
        Where {$_.RecordData.Ipv4Address.IPAddressToString -contains '192.0.2.4'} |
            Select HostName,RecordType,Type,RecordData,Timestamp,TimeToLive,@{n='Zone';e={$zone.ZoneName}}
}

如果要使用网格视图,请使用Out-Gridview

$zones = Get-DnsServerZone | where {!$_.IsReverseLookupZone -and $_.ZoneType -eq 'Primary'}
$output = foreach ($zone in $zones) {
    Get-DnsServerResourceRecord -ZoneName $zone.ZoneName |
        Where {$_.RecordData.Ipv4Address.IPAddressToString -contains '192.0.2.4'} |
            Select HostName,RecordType,Type,RecordData,Timestamp,TimeToLive,@{n='Zone';e={$zone.ZoneName}}
}
$output | Out-GridView
相关问题