更新 DNS CNAME

updating dns CNAME

我正在尝试使用 azure-powershell 更新一堆 dns cname 条目。
我在获取需要更新的 dns 条目时没有遇到任何问题,但是在尝试更新 cname 时我的问题就开始了(因为事实上只能有一个 cname 条目)。

我去了 azure documentation, and found about set-azdnsrecordset,但我没能找到正确的 parameter/syntax 来更新 CNAME

这是我试过的。

$rs = Get-AzDnsRecordSet -name "test1" -RecordType CNAME -ZoneName "zone.io" -ResourceGroupName "dns"
$rs.Records[0].Records = "new-test-v1.com"
Set-AzDnsRecordSet -RecordSet $rs

$rs.Records[0].Records = "new-test-v1.com":

出错
The property 'Records' cannot be found on this object. Verify that the property exists and can be set. 

回声$rs

Id                : /subscriptions/[redacted]/resourceGroups/[redacted]/providers/Microsoft.Network/dnszones/[redacted].io/CNAME/test1
Name              : test1
ZoneName          : zone.io
ResourceGroupName : dns
Ttl               : 3600
Etag              : [redacted]
RecordType        : CNAME
TargetResourceId  :
Records           : {test-v1.com}
Metadata          :
ProvisioningState : Succeeded

PS :我确实找到了可行的解决方案。 Deleting/recreating 记录工作得很好。我也意识到,如果在创建部分出现问题,我会丢失我的记录(设置故障保护将是很多额外的工作),所以我保留它作为最后的选择。

在 Azure DNS 中更新 CNAME 记录的解决方法之一

要更新 CNAME,我们必须删除现有别名,然后必须添加一个新别名。 我们已尝试使用以下 cmdlt 并更新了 CNAME:

PowerShell 命令:-

$rs = Get-AzDnsRecordSet -name "rahul" -RecordType CNAME -ZoneName "zone.com" -ResourceGroupName "rgname"
Remove-AzDnsRecordConfig -RecordSet $rs -Cname $rs.Records.cname | Set-AzDnsRecordSet
$newcname = "new-test-v1.com"
Get-AzDnsRecordSet -name "rahul" -RecordType CNAME -ZoneName "myzone.com" -ResourceGroupName "rgname" | Add-AzDnsRecordConfig -Cname $newcname | Set-AzDnsRecordSet

样本输出:-

爬上 AjayKumarGhose-MT 肩膀(提到 -Cname $rs.Records.cname),我确实找到了解决方案 我需要使用

$rs.Records[0].cname = "new-test-v1.com"

而不是

$rs.Records[0].Records = "new-test-v1.com"

完整的解决方案是:

$rs = Get-AzDnsRecordSet -name "test1" -RecordType CNAME -ZoneName "zone.io" -ResourceGroupName "dns"
$rs.Records[0].Records = "new-test-v1.com"
Set-AzDnsRecordSet -RecordSet $rs