DNS 記錄通常由您的 DNS 伺服器動態管理。然而,有時候您可能需要手動創建、編輯或刪除各種類型的 DNS 記錄,或者將各種 DNS 任務添加到自動化腳本中。在這種情況下,使用 PowerShell DNS cmdlets 是一種不錯的選擇。
這篇博文有一個由 TechSnips 貢獻者 David Lamb 創建的相應視頻。隨意觀看,或者如果您更喜歡文字,繼續閱讀!
使用 PowerShell DNS Cmdlets 查看 DNS 記錄
您可以使用 PowerShell DNS cmdlet Get-DnsServerResourceRecord
簡單地查看特定 DNS 區域 的所有資源記錄。使用此 cmdlet,您可以指定 ZoneName
參數,列出該區域中的所有 DNS 記錄。
如下所示,這將生成一個相當冗長的記錄清單。

這種行為凸顯了這個特定 cmdlet 相對於圖形 DNS 控制台的優勢。該視圖會為您提供此區域的所有記錄,而不管它們位於哪個文件夾中。在圖形控制台中,需要花費相當長的時間才能將這些信息組合起來。
現在稍微縮小這個清單。使用相同的 cmdlet,但添加 RRType
參數來搜索 A 記錄(IPv4 主機),並過濾 TTL(生存時間)大於 15 分鐘的記錄,這樣我們可以得到一個更易管理的清單。您可以使用 Where-Object
cmdlet 來過濾許多不同的 DNS 記錄屬性。

更進一步地,您還可以搜索不同的 DNS 區域和不同的 DNS 伺服器。
在下面的示例中,我們將在 DNS 伺服器 DC03 上搜索 canada.corp.ad 區域的 A 記錄。

添加和刪除主機記錄
要添加主機記錄,您需要使用 PowerShell DNS cmdlet Add-DnsServerResourceRecordA
。在下面的示例中,您需要為正在添加到網絡的新打印機添加一個主機記錄。它將被添加到 corp.ad 區域,名稱為 reddeerprint01,其 IP 地址為 192.168.2.56。

如果發現需要刪除一個記錄,例如打印機已被停用,您可以使用以下代碼來刪除剛剛創建的主機記錄:
添加和刪除 AAAA 主機記錄
添加IPv6主机记录同样简单。当然,这些记录略有不同,因为它们被列为AAAA记录。您可能会注意到,我们现在使用的是PowerShell DNS cmdlet Add-DnsServerResourceRecordAAAA
。这是一个微小的变化,但非常重要。
在corp.ad区域为新的IT内部网络服务器添加一条记录,IP地址为fc00:0128,然后使用以下命令快速验证是否已创建成功。

添加反向查找记录(PTR)
使用PowerShell DNS cmdlets,您还可以添加PTR记录。反向查找记录允许客户端查询DNS服务器以请求提供的IP地址的主机名。
创建PTR记录相对简单,但在开始添加PTR记录之前,您需要知道一个重要的信息。反向查找区域不会默认创建。您需要在添加记录之前设置好反向查找区域。幸运的是,这相对容易做到。
创建DNS区域
使用PowerShell DNS cmdlet Add-DnsServerPrimaryZone
创建一个新的DNS区域。在这个示例中,由于您正在创建一个反向查找区域,因此为其提供网络ID。
在这个示例中,我还选择将复制范围设置为整个AD域,我特别将首选DNS服务器定为DC03。

現在反向查找區域已經建立,您可以為名為CYQF-Printer-01.canada.corp.ad的新印表機添加PTR記錄,其IP地址為192.168.2.56。由於此記錄是用於canada.corp.ad區域,因此您將針對DNS服務器DC03進行定位。
現在區域已經創建,讓我們使用Add-DnsServerResourceRecordPtr
命令創建PTR記錄。在使用此cmdlet時,有幾點需要注意。
- 您需要使用網絡ID的反向順序來指定區域名稱,然後添加.in-addr.arpa。因此,對於我們的192.168.2.0/24網絡ID,區域名稱是2.168.192.in-addr.arpa。
Name
參數是IP地址的主機部分。對於我們的192.168.2.56印表機,Name
是56。
一旦您獲得了這些信息,創建PTR記錄所需的代碼相對簡單,但有點冗長:

添加別名記錄(CNAME)
完成本教程,使用Add-DnsServerResourceRecordCName
命令創建主機別名記錄或CNAME記錄。
這些記錄允許您為區域中的現有主機記錄指定別名。例如,如果您想為財務用戶提供用於其Web應用的地址,這將特別有用。
您可以创建一个名为finance的别名,并将其指向webserver webapp25.corp.ad。一旦应用程序迁移到具有新主机名的新web服务器,您将更改CNAME记录以指向指向新主机的finance。这样,用户无需更新书签即可继续使用finance.corp.ad的地址访问其应用程序。

如果您想深入了解DNS并了解更多高级功能,请务必查看这里的其他DNS帖子。
总结
这结束了我们关于使用PowerShell管理DNS记录的教程。通过在这里积累的知识,您现在应该能够交互式地管理甚至自动化大量的DNS记录,只要您有意愿!