Hello guys, i have a small script for syncing Route53 records to DNS on AD/DC. But this script fails. It looks like this:
$DNSList = Get-DnsServerResourceRecord -ZoneName $ZoneName -RRType CName
foreach ($DNSrecord in $DNSList) {
$AWSDnsCNAMERecord = aws route53 list-resource-record-sets –hosted-zone-id $PrivateHostedZoneID –query “ResourceRecordSets[?Type == ‘CNAME’].Name” –output text
$AWSDnsCNAMERecordValue = aws route53 list-resource-record-sets –hosted-zone-id $PrivateHostedZoneID –query “ResourceRecordSets[?Type == ‘CNAME’].ResourceRecord.Value” –output text
if (($DNSrecord.Name -notlike $AWSDnsCNAMERecord) -and !([string]::IsNullOrEmpty($AWSDnsCNAMERecord))){
$NewCNAMEDnsRecord = $DNSrecord.Clone()
$NewCNAMEDnsRecord.RecordData.HostNameAlias = $AWSDnsCNAMERecord
$NewCNAMEDnsRecord.RecordData = $AWSDnsCNAMERecordValue
Set-DnsServerResourceRecord -NewInputObject $NewCNAMEDnsRecord -OldInputObject $DNSrecord -ZoneName $ZoneName -PassThru
}
}
This script fails at the last command:
Set-DnsServerResourceRecord : The parameter is incorrect.
It seems that the command $NewCNAMEDnsRecord.RecordData = $AWSDnsCNAMERecordValue is not written good. I need to take Value/Route Traffic To from CNAME record in this command.
Resource Name: x.abcd.com
Type: CNAME
Value/Route Traffic To: y.abcd.com
I have tried $NewCNAMEDnsRecord.RecordData.Value = $AWSDnsCNAMERecordValue but it is failing. Can you give me an advice please how to do it? It suppose to be easy, but i am failing. Does someone know please?