>我有一个名为server1.domain.local的服务器
>我在各种正向查找区域中有很多指向server1.domain.local的Cname条目
>我想退出server1,并有一个新的服务器,server2,它将取代它.
我需要将所有指向server1.domain.local的Cname更改为指向server2.domain.local.
我知道我可以创建server1.domain.local作为另一个Cname,但我更愿意找到所有条目并单独更改它们.
如何在server.domain.local的所有正向查找区域中查找所有引用?
解决方法 Windows支持工具中的dnscmd实用程序可能是您最好的选择.您可以使用以下命令获取所有DNS区域的列表:dnscmd [servername] / EnumZones.您可以使用以下命令枚举每个区域中的所有Cname记录:dnscmd [servername] / EnumRecords [区域名称]. / TYPE Cname.理论上,您可以在脚本中将这两者链接在一起,处理输出,并自动进行所需的更改(也可以使用带有/ RecordDelete和/ RecordAdd命令的dnscmd).这是我将留给你的一个练习(现在).
编辑:好的 – 我无法抗拒.这是脚本.它只会回显实际进行更改的命令.如果它能够满足您的需求,那么您可以将回送命令拉出来并让它们撕裂.
@echo offset SERVER_TO_REPLACE=server1.domain.comset REPLACEMENT_VALUE=server2.domain.comrem Quick and dirty List of Primary zones that aren't Reverse zonesfor /F "usebackq" %%i in (`dnscmd %1 /EnumZones ^| find " Primary" ^| find /v " Rev"`) do call :process_zone %1 %%igoto end:process_zonerem Quick and dirty enumeration of all Cname records in a zonefor /F "usebackq tokens=1,3,4" %%i in (`dnscmd %1 /EnumRecords %2 . /TYPE Cname ^| find " Cname"`) do call :process_RR %1 %2 %%i %%j %%kgoto end:process_RRrem Check a record and alter it if necessaryif /I "%5" EQU "%sERVER_TO_REPLACE%" ( echo dnscmd %1 /RecordDelete %2 %3 %4 %5 /f echo dnscmd %1 /RecordAdd %2 %3 %4 %rEPLACEMENT_VALUE%):end总结
以上是内存溢出为你收集整理的domain-name-system – 如何搜索域集成DNS条目全部内容,希望文章能够帮你解决domain-name-system – 如何搜索域集成DNS条目所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)