Domain-Name-System
用於返回空主機名的 nslookup 腳本
我想編寫返回沒有 IP 的主機名的腳本。我編寫了腳本的以下部分,但我不知道如何返回空答案。提前致謝
$numbers=1..255 foreach ($number in $numbers){ { nslookup host$number }
如果要使用 Powershell 中的 nslookup,則必須處理返回的結果,因為它只是文本。相反,請使用Resolve-DnsName Powershell cmdLet。
請注意,該命令將返回所有 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))" } } }