您好,登錄后才能下訂單哦!
豆子今天偶然在PowerShell ISE里面運行 nslookup這個命令,但是他給我的提示信息是不支持交互性的控制臺命令。
試試賦值,雖然還是有報錯,不過結果是出來了。
根據提示,應該使用start-process 來開啟另外一個單獨的交互式窗口,如下所示。
不過如果我想在腳本里面操作怎么辦?找找看,PS在Windows2012提供了一個新的命令 Resovle-DNSName 功能和nslookup類似,不過更強大。
一般的說當我們ping或者nslookup一個域名的時候,有的時候結果不一樣,這是因為他們查詢的地方不一樣。
第一個地方是host文件,當我們Ping一個對象的時候,他是從這里開始查詢;
第二個地方是本地緩存,如果host文件找不到,那么從這里找;
第三個地方則是通過DNS服務器進行查詢,nslookup是直接跳過前兩步,從這里開始的。
做個小測試,新建一個host文件記錄
可以看見Ping的結果來源于host文件,而nslookup來自本地的dns服務器
那么試試看resolve-dnsName
可以看見,他和ping一樣,是直接按順序從hosts文件開始查詢的。如果我想忽略前兩步,那么使用-nohostsfile的參數就可以了。如果我想只查詢緩存,那么用-cacheOnly就行了。
還可以組合一下,指定DNS 服務器來進行解析
Resolve-dnsname還有個優點是對于各種類型也提供了參數選擇
比如說列出所有的類型,我可以看見A記錄,CName記錄,MX記錄等等
比如我查詢某個別名的記錄~
通過上面這些方式的組合,我可以在腳本里面直接查詢需要的DNS信息并傳遞給其他的參數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。