配置 DNS 清理以清理 AD 中過時的 DNS 記錄

Jacki

可以使用兩個特殊的 Windows Server DNS 功能來自動清理 Active Directory 中的舊 DNS 記錄:

  • DNS老化– 允許確定動態註冊 DNS 記錄的年齡(最後時間戳與當前時間之間的差異)
  • DNS 清理– 自動刪除一段時間未更新(使用)的陳舊動態 DNS

Windows Server DNS 有兩種類型的記錄 –動態的靜止的。動態記錄有一個時間戳參數(最後更新 DNS 記錄的時間)。活動 Windows 客戶端會在啟動時或每 24 小時更新其 DNS 記錄中的時間戳。該參數允許 DNS 服務器識別長時間未更新且未使用的記錄。

打開AD域控制器上的DNS服務器管理控制台(dnsmgmt.msc)並檢查先進的選項中的看法菜單。

建議閱讀:MX 記錄問題:修復啟用 Cloudflare 後的電子郵件問題

區域DNS記錄中有靜態記錄和動態記錄(時間戳中包含時間)。

靜態 DNS 記錄不會自動刪除。此類 DNS 記錄由管理員創建,或者如果刪除這條記錄,它們就會變得陳舊選項在其設置中被禁用。

仔細查看 DNS 區域中的動態條目。在任何不應自動刪除的 DNS 記錄的屬性中禁用此選項。此類 DNS 記錄的類型將更改為靜止的

確保為所有服務器、網絡設備、打印機、掃描儀和其他網絡服務配置靜態記錄。

清理過程僅自動刪除動態 DNS 記錄。

默認情況下,Windows Server 中禁用自動清除過時 DNS 記錄。

打開您的 DNS 區域屬性並單擊老化按鈕上的一般的選項卡。

  1. 檢查選項清除陳舊的資源記錄
  2. 無刷新間隔參數設置 DNS 記錄的時間戳不會更新的時間間隔(減少 DNS 服務器負載和 AD 複製)。但是,如果計算機的主機名已更改,則 DNS 記錄將成功更新。
  3. 刷新間隔– 這是可以更新 DNS 記錄時間戳的時間。

的值無刷新間隔應設置為 DHCP 服務器上設置的 IP 地址租用時間的一半。例如,如果DHCP服務器上的IP地址租用時間為12天,則此處輸入6。在這種情況下,動態 DNS 記錄將被視為已過時,並且將在 12 天不活動後被清理作業清除。

單擊 DNS 服務器並選擇為所有區域設置老化/清除,老化設置可以應用於域控制器上的所有主 DNS 區域。

目前,您僅為區域配置了 DNS 記錄期限選項。除非您在 DNS 服務器設置中啟用了自動清理功能,否則 DNS 記錄不會被刪除。

在首次開始清理 DNS 區域之前,我們建議您將 DNS 區域中的所有資源記錄導出到 CSV 文件。這將允許您在必要時手動重新創建關鍵 DNS 記錄:

Get-DnsServerResourceRecord -ZoneName 'contoso.com' | Select-Object hostname, timestamp, recordtype, @{Name="RecordData";Expression={$_.RecordData.ipv4address}}| Export-CSV -Csv "C:tempBackupDNSZoneContoso.csv" -NoTypeInformation

前往先進的DNS 服務器屬性中的選項卡。

啟用啟用狀態記錄的自動清理選項並指定 DNS 記錄被老化機制標記為過時後多少天應將其刪除(默認為 7 天)。此後,Scavenging 機制將每天自動刪除一次舊的 DNS 記錄。

右鍵單擊 DNS 服務器並選擇清理陳舊的資源記錄立即進行清理。或者運行命令:

Start-DnsServerScavenging -Verbose

可以使用 PowerShell 獲取當前 DNS 服務器清理設置和上次清理時間:

Get-DnsServerScavenging

NoRefreshInterval : 7.00:00:00
RefreshInterval : 7.00:00:00
ScavengingInterval : 7.00:00:00
ScavengingState : False
LastScavengeTime : 4/2/2024 6:02:37 AM

大多數 AD 安裝使用內置 DNS 區域,這些區域會在域控制器之間自動複製(此類區域沒有經典的 PRIMARY DNS 服務器)。因此,您只需在其中一台域控制器(RODC 除外)上配置清理。如果刪除或停用此類 DC,則必須在另一個域控制器上重複相同的配置。