Windows的dnscaching服务器:以编程方式刷新单个区域的dnscaching

在bind9中,我可以使用shell中的rndc flushname zone.tld。

在Windows DNS mmc我可以select区域并删除它。

使用dnscmd我可以刷新整个caching,但是我只需要刷新一个区域的caching。

这是可能的和如何? TIA

DNSCmd.exe用于显示和更改DNS服务器,区域和资源logging的属性。 你可以在这里find详细的语法。 尽pipe我想给出适当的参考和解释,我发现它随机search,反复试验:caching查找似乎内部存储在区域名为..Cache,每个caching区域只是一个节点下的“ ..Cache“,所以右键使用的是/ NodeDelete :

dnscmd dnsserver.local /NodeDelete ..Cache whatever.com [/Tree] [/f] /tree Specifies to delete all of the child records. /f Executes the command without asking for confirmation. 

不过,如果有人可以在MS官方文档中find“..cache”,那将会很酷。

我害怕在编程上,你将不得不求助于/clearcache

dnscmd没有内置这个function, API规范中没有什么明显的暗示这样的操作是暴露的

你可以从GUI中完成,但我怀疑这是否有帮助
从Windows DNS服务器查看和删除caching的条目:

  1. 打开DNSpipe理控制台( dnsmgmt.msc
  2. 转到视图菜单,然后select高级
  3. 在左窗格中展开您的DNS服务器条目
  4. 展开caching的查找
  5. 要删除caching的logging或整个区域,只需右键单击并select“删除”

对于权威服务器,您可以刷新或重新加载区域数据,具体取决于源types。
对于从主服务器刷新区域数据的辅助名称服务器:

 dnscmd dns1.domain.tld /zonerefresh my.zone.domain.tld 

对于活动目录集成区域,请从AD重新加载区域数据:

 dnscmd dns1.domain.tld /zonereload my.zone.domain.tld 

假设你的DNS服务器的fqdn是dns1.domain.tld.my.zone.domain.tld. 是该区域的fqdn