返回空主机名的 nslookup 脚本

返回空主机名的 nslookup 脚本

我想编写一个返回没有 IP 的主机名的脚本。我写了以下部分脚本,但我不知道如何返回空答案。提前致谢

$numbers=1..255
foreach ($number in $numbers){
{
    nslookup host$number
}

答案1

如果您想从 Powershell 使用 nslookup,则必须处理返回的结果,因为它只是文本。相反,使用解析 DNS 名称Powershell 命令。

请注意,该命令将返回所有 DNS 记录,因此结果可以是对象数组。

下面是一个关于如何使用它的小例子(我用 for 替换了 foreach 循环):

for($i=1 ; $i -le 255 ; $i++) {

    $DnsQuery = $null
    [array]$DnsQuery = Resolve-DnsName -Name "host$i" -ErrorAction SilentlyContinue

    # If no DNS record found, process next host
    if($DnsQuery -eq $null) {
        Write-Host "No DNS record found for host$i"
        continue ;
    }

    # Look for DNS record without IP address
    foreach($Result in $DnsQuery) {
        if($Result.IPAddress -eq $null) {
            Write-Host "DNS record without IP address found for host$i (Record type: $($Result.Type))"
        }
    }

}

相关内容