2013-10-08 97 views
0

我想要獲取在特定DNS服務器(公司內部網絡DNS)上具有A記錄的所有機器的列表。DNS記錄列表

到目前爲止,我設法讓所有使用NMAP在線的主機,並給它一個特定的子網來掃描(nmap -sN [subnet]),但不幸的是,當我給它一個大於/ 24。當然,另一種選擇是ping一個給定範圍內的所有IP,然後查看誰的答案,但這會花費太長時間。

我想將它包含在powershell腳本中,所以任何可以從CLI運行的東西都會很棒,任何編程語言中我可以編譯並從CLI運行的東西都是很好的,任何需要手動輸入的東西都不行太好了..

任何幫助將不勝感激!

編輯:如果在所有可能的情況下,將列表限制爲單個區域會很好。

+0

我錯過了什麼呢? 我閱讀了常見問題解答,並按順序排列: 研究:自從我用nmap描述嘗試以來,明顯做到了,爲什麼它不是我想要的; 我試過了:見上面; 語言和平臺:Powershell 3.0,平臺Windows客戶端和服務器; 代碼:問題不包括代碼(nmap文檔中的小片段); 區域特定信息:我不相信這是相關的; 格式化拼寫和語法:我可以看到沒有錯誤; 這個問題有什麼不清楚的地方?或者還有其他一些我不認爲的觀點? – Alberto

+0

問題是有目的的廣泛,因爲我正在尋找任何可行的解決方案,正如我在第3段中解釋的那樣。 谷歌並沒有真正的幫助,我很遺憾沒有DNS專家。我的研究提出了我描述的2種解決方法,但我也沒有找到這種解決方案。 – Alberto

回答

0

關於PowerShell,不是很驚人的自動化,但你可以在DNS客戶端cmdlet中使用一些東西。

http://technet.microsoft.com/en-us/library/jj590772.aspx

獲取幫助-examples

+0

呃,看起來很有趣,但顯然這隻會讓我得到本地客戶端緩存中的DNS記錄列表,或者我閱讀錯誤的頁面? 然後Get-DnsServerResourceRecord cmdlet似乎仍然很有前途,即使它只能在Win 8或Server 2012上運行。 – Alberto

0

請使用強大的GridView:

$server = "Your_DNS_Server" 
$record = Get-WmiObject -Namespace "root\MicrosoftDNS" -ComputerName $server -Class MicrosoftDNS_AType 
$record | Select DomainName,RecordData,OwnerName | Sort-Object -Property {[System.Version]$_.RecordData} | Out-GridView