如何从列表中获取DNS记录?

时间:2019-05-09 18:54:41

标签: powershell dns record

我正在尝试获取某些子网中的DNS记录列表。我可以使该命令适用于1个或多个子网(通过使用-like-or),但是我将有10个以上的子网来获取记录。

我尝试添加一个变量,并尝试与foreach一起使用,但是它只会返回错误unexpected token in statement。 我觉得我在此foreach语句的位置可能有错误,但是我不确定。 这比我的嵌套略高一些。

这就是我能够上班的地方:

Get-DnsServerResourceRecord -ZoneName zone.local -RRType A | 
   foreach ($subnet in $subnets) {
      where-object {$_.Recorddata.ipv4address -like $subnet}} | 
         where-object {$_.Recorddata.ipv4address -like "10.1.*.*" -or $_.Recorddata.ipv4address -like "192.168.*.*"} | 
            Select-Object HostName, RecordType ,@{Name='IPv4Address';Expression={$_.RecordData.IPv4Address}
   }

我尝试过的事情:

$subnets = get-content .\zonedata.txt

get-dnsserverresourcerecord -zonename "zone.local" -RRType A | 
   foreach ($subnet in $subnets) {
      where-object {$_.REcorddata.ipv4address -like $subnet}} |
         Select-Object HostName, RecordType ,@{Name='IPv4Address';Expression={$_.RecordData.IPv4Address}
   }

在我可以使用的代码上,它返回该区域内的所有记录,这很棒,但是就像我说的那样,我将需要10个以上不同区域的记录,而我不想必须更改每个区域的脚本,并且每个区域都有不同的文件。

0 个答案:

没有答案