我試圖將註冊表項與多宿主服務器中的DNS相匹配。問題是system.net.dns似乎返回更多然後在DNS中。Powershell返回的內容超過DNS中的內容
實施例:
nslookup hostname.dns.net
Server DNS.server.naem
Address: IP.Address.of.server
Name: hostname.dns.net
Address: single.ip.of.server
然而,當使用:
$DNSResult = [System.Net.Dns]::GetHostEntry($Computer)
$DNSresult.addresslist
它輸出2在服務器的IP地址,已發佈的一個和未公開的一個....
我如何才能獲得由DNS發佈的結果。
也許這會幫助 http://stackoverflow.com/questions/22842082/how-do-i-force-the-dns-gethostaddresses-net-method-to-only-query-dns-or-the -dns/22842379#22842379 – Raf
謝謝,如果沒有辦法解決系統調用,我可能不得不走這條路,但我不希望。 – user3566297
將您附加的方法與問題掛鉤: $ computername = $ env:COMPUTERNAME function dnsLookup($ hostname){ $ r =(nslookup $ hostname | Out-String).split(「n」) for($ i = 4; $ i -lt($ r.count - 2); $ i ++)$ r [$ i] .replace(「Address:」,「」)。replace(「Addresses: 「」).replace(」」, 「」)替換( 「'T」, 「」) }} [Net.IPAddress] $ DNSIP = dnsLookup $計算機名 $ DNSIP 我得到的錯誤: 無法將值「10.0.0.1」轉換爲鍵入「System.Net.IPAddress」。錯誤:「指定了無效的IP地址。」 – user3566297