如何通过 dnscmd 添加多个 dns 区域文件

如何通过 dnscmd 添加多个 dns 区域文件

我当前的 Windows DNS 服务器托管着大约 500 个标准(非 AD)区域。我需要将它们全部转移到新服务器。我将 .dns 文件从 C:\Windows\System32\DNS 从当前服务器复制到新服务器。但是,它们没有出现。我在 Google 上搜索,发现我需要使用 dnscmd 命令从文件添加区域。一个区域的语法对我来说非常清楚,应该是

dnscmd nsserver /zoneadd domain.com /primary /file C:\Windows\System32\DNS\domain.com.dns

但是,我该怎么做才能添加500个文件?提前谢谢您。

答案1

考虑到您已经想出了要对 500 个文件执行的命令,您只需应用基本自动化即可完成此操作(不需要 Windows DNS 详细信息)。

一个简单的FOR循环CMD似乎是DNSCMD /zoneadd您提供的命令,例如:

FOR %f IN (C:\Windows\System32\DNS\*.dns) DO dnscmd nsserver /zoneadd %~nf /primary /file %f

(假设您只是想对该目录中所有匹配的文件执行此操作)


或者,您也可以采用更现代的方法,即使用 Powershell。Add-DnsServerPrimaryZoneDNSCMDcmdlet 似乎提供了与您的命令等效的功能。

相关内容