域名系統 (DNS) 伺服器 Cmdlet 的小問題
我想知道是否需要清除一些記憶體或與我遇到的問題有關的東西。
我正在嘗試從 DNS 區域中刪除 A 記錄,並將它們替換為具有相同主機名的 CName 記錄。
Remove-DnsServerResourceRecord -Zonename $line -InputObject $record -Force Add-DnsServerResourceRecordCName -Zonename $line -Name $hostname -TimeToLive $ttl -HostNameAlias $target
這讓我:
Add-DnsServerResourceRecordCName:無法在伺服器 NS01 上的 zone.tld 中創建資源記錄 @。在 C:\admin\updatettl.ps1:56 char:4 + Add-DnsServerResourceRecordCName -Zonename $ line -Name $ 主機名 > -TimeToLive … + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceExists: ( @:root/Microsoft/…urceRecordCName) >
$$ Add-DnsServerResourceRecordCName $$ , CimException + FullyQualifiedErrorId : WIN32 9709,Add-DnsServerResourceRecordCName
有任何想法嗎?謝謝
根據RFC 1034 §3.6.2,Microsoft 的 DNS 伺服器實施將不允許您在區域頂點創建 CNAME 。
您收到的錯誤 (9709,
DNS_ERROR_CNAME_COLLISION
) 有點神秘,但無論如何您都不能(也不應該)添加它。另一方面,將 CNAME RR 放置在頂點有效地引入了與區域的 NS 和 SOA 記錄的衝突,此時錯誤確實有一定意義
我可以按照 Microsoft 文件中的建議使用以下語法成功創建 ALIAS 或 CNAME
PS C:> Add-DnsServerResourceRecordCName -Name "THE-NEW-ALIAS-NAME" -HostNameAlias "ALREADY-EXISTING-NAME" -ZoneName "example.com"
範例測試:
PS C:> Add-DnsServerResourceRecordCName -Name "mylabcn" -HostNameAlias "cslab" -ZoneName "example.com"
mylabcn:要創建到現有名稱的新ALIAS:cslab.example.com
這裡的
-Name
參數是要創建的新 ALIAS/CNAME,-HostNameAlias
參數是已經存在的名稱,新的 ALIAS 名稱將被創建到該名稱。最初我以相反的方式使用上述參數,導致上述錯誤“9709”
希望這可以幫助。