如何解决使用Powershell更新DNS记录
我想编写一个Powershell脚本来更新DNS A记录列表的名称。
但是,我还需要更新与DNS记录相对应的PTR记录。 据我所知,没有参数可以自动为我执行此操作,因此我决定编写一个单独的脚本来处理Ptr记录。
我不确定更新指针记录PtrDomainName的正确方法是什么(请参见下面的代码)。 我设法找到有关更改IP和TTL的方法的信息(均在我的代码中),但名称丢失。
$records = Get-Content .\ptr_records.txt
foreach ($record in $records){
#modify the records
$OldObj = Get-DnsServerResourceRecord -ZoneName 10.in-addr.arpa -RRType Ptr | Where-Object {$_.RecordData.PtrDomainName -like $record }
$NewObj = $OldObj.Clone()
###below line modifies time to live
$NewObj.TimeToLive = [System.TimeSpan]::FromHours(2)
###below line modifies ip
$NewObj.RecordData.IPv4Address = [ipaddress]'8.8.8.8'
###how do i modify the record data?????
$NewObj.RecordData= ???
Set-DnsServerResourceRecord -NewInputObject $NewObj -OldInputObject $OldObj -ZoneName "10.in-addr.arpa" -PassThru
}
这也是一些powershell输出:
在下面的示例中,dnsrecord1将更改为dnsrecord2
PS C:\Users\da.v.kolev> $test = Get-DnsServerResourceRecord -ZoneName 10.in-addr.arpa -RRType Ptr | Where-Object {$_.RecordData.PtrDomainName -like 'dnsrecord1.contoso.com.' }
PS C:\Users\da.v.kolev> $test
HostName RecordType Type Timestamp TimeToLive RecordData
-------- ---------- ---- --------- ---------- ----------
1.33.22 PTR 12 0 01:00:00 dnsrecord1.contoso.com.
PS C:\Users\da.v.kolev> $test.RecordData
PtrDomainName PSComputerName
------------- --------------
dnsrecord1.contoso.com.
PS C:\Users\da.v.kolev> $test.RecordData.PtrDomainName
dnsrecord1.contoso.com.
PS C:\Users\da.v.kolev>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。