Dnscmd
用于管理 DNS 服务器的命令行界面。 对于进行批处理文件脚本编辑,以帮助自动执行例行 DNS 管理任务,或执行网络上的新 DNS 服务器的简单无人参与设置和配置,该实用程序都非常有用。
语法
dnscmd <servername> <command> [<command parameters>]
参数
参数 | 说明 |
---|---|
<servername> |
远程或本地 DNS 服务器的 IP 地址或主机名。 |
dnscmd /ageallrecords 命令
设置 DNS 服务器上指定区域或节点的资源记录上的时间戳的当前时间。
语法
dnscmd [<servername>] /ageallrecords <zonename>[<nodename>] | [/tree]|[/f]
参数
参数 | 说明 |
---|---|
<servername> |
指定管理员计划管理的 DNS 服务器,由 IP 地址、完全限定的域名 (FQDN) 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定区域的 FQDN。 |
<nodename> |
使用以下命令指定区域中的特定节点或子树:
|
/tree | 指定所有子节点也接收时间戳。 |
/f | 运行命令而不要求确认。 |
注解
ageallrecords 命令用于当前版本的 DNS 和不支持老化和清理的以前版本的 DNS 之间的向后兼容性。 它为没有时间戳的资源记录添加带有当前时间的时间戳,并为有时间戳的源记录设置当前时间。
除非记录带有时间戳,否则不会进行记录清理。 名称服务器 (NS) 资源记录、颁发机构起始 (SOA) 资源记录和 Windows Internet 名称服务(WINS) 资源记录不包括在清理过程中,并且即使在 ageallrecords 命令运行时也不会添加时间戳。
除非为 DNS 服务器和区域启用了清理,否则此命令将失败。 有关如何为区域启用清理的信息,请参阅本文中
dnscmd /config
命令语法中的 aging 参数。向 DNS 资源记录添加时间戳会使它们与在 Windows Server 以外的操作系统上运行的 DNS 服务器不兼容。 使用 ageallrecords 命令添加的时间戳无法撤消。
如果未指定任何可选参数,此命令将返回指定节点上的所有资源记录。 如果为至少一个可选参数指定了值,则 dnscmd 仅枚举与可选参数中指定的值相对应的资源记录。
示例
dnscmd /clearcache 命令
清除指定 DNS 服务器上的资源记录的 DNS 缓存内存。
语法
dnscmd [<servername>] /clearcache
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
示例
dnscmd dnssvr1.contoso.com /clearcache
dnscmd /config 命令
更改 DNS 服务器和单个区域的注册表中的值。 此命令还会修改指定服务器的配置。 接受服务器级和区域级设置。
注意
除非别无选择,否则不要直接编辑注册表。 注册表编辑器会忽略标准的安全措施,从而使得这些设置可能降低性能、破坏系统,甚至要求用户重新安装 Windows。 可以使用控制面板或 Microsoft 管理控制台 (mmc) 中的程序安全地更改大多数注册表设置。 如果必须直接编辑注册表,请先进行备份。 有关详细信息,请阅读注册表编辑器帮助。
服务器级语法
dnscmd [<servername>] /config <parameter>
参数
注意
本文包含对术语“从属”的引用,这是 Microsoft 不再使用的术语。 在从软件中删除该术语后,我们会将其从本文中删除。
参数 | 说明 |
---|---|
<servername> |
指定计划管理的 DNS 服务器,用本地计算机语法、IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<parameter> |
指定设置,并以选项的方式指定值。 参数值使用以下语法:参数 [值]。 |
/addressanswerlimit[0|5-28] |
指定 DNS 服务器为响应查询而可以发送的最大主机记录数。 该值可以是零 (0),也可以在 5 到 28 个记录的范围内。 默认值为零 (0)。 |
/bindsecondaries[0|1] |
更改区域传输的格式,使其可以实现最大压缩比和最高效率。 接受以下值:
|
/bootmethod[0|1|2|3] |
确定 DNS 服务器从中获取其配置信息的源。 接受以下值:
|
/defaultagingstate[0|1] |
确定是否在新创建的区域上默认启用 DNS 清理功能。 接受以下值:
|
/defaultnorefreshinterval[0x1-0xFFFFFFFF|0xA8] |
设置动态更新记录不接受刷新的时间段。 服务器上的区域会自动继承此值。 若要更改默认值,请键入一个 0x1-0xFFFFFFFF 范围内的值。 服务器的默认值为 0xA8。 |
/defaultrefreshinterval [0x1-0xFFFFFFFF|0xA8] |
设置允许动态更新 DNS 记录的时间段。 服务器上的区域会自动继承此值。 若要更改默认值,请键入一个 0x1-0xFFFFFFFF 范围内的值。 服务器的默认值为 0xA8。 |
/disableautoreversezones [0|1] |
启用或禁用反向查找区域的自动创建。 反向查找区域提供 INTERNET 协议 (IP) 地址到 DNS 域名的解析。 接受以下值:
|
/disablensrecordsautocreation [0|1] |
指定 DNS 服务器是否自动为其承载的区域创建名称服务器 (NS) 资源记录。 接受以下值:
|
/dspollinginterval <seconds> |
指定 DNS 服务器轮询 AD DS 以获取 AD 集成区域中更改的频率(以秒为单位)。 接受的最小值为 30 秒。 如果在此参数后不指定值,则默认值设置为 0xB4(3 分钟或 180 秒)。 |
/dstombstoneinterval <seconds> |
在 AD DS 中保留已删除记录的时间(以秒为单位)。 此值应限制为 0x3F480(3 天或 259,200 秒)到 0x49D400(8 周或 4,147,200 秒)。 如果未为 Directory Services 对象的 tombstoneLifetime 属性指定任何值,则默认值应 0x127500(14 天或 1,209,600 秒)。 |
/ednscachetimeout [3600-15724800] |
指定缓存扩展 DNS (EDNS) 信息的秒数。 最小值为 3600,最大值为 15,724,800。 默认值为 604,800 秒(一周)。 |
/enableednsprobes [0|1] |
启用或禁用服务器探测其他服务器以确定它们是否支持 EDNS。 接受以下值:
|
/enablednssec [0|1] |
启用或禁用对 DNS 安全扩展插件 (DNSSEC) 的支持。 接受以下值:
|
/enableglobalnamessupport [0|1] |
启用或禁用对 GlobalNames 区域的支持。 GlobalNames 区域支持跨林解析单标签 DNS 名称。 接受以下值:
|
/enableglobalqueryblocklist [0|1] |
启用或禁用对阻止列表中名称的名称解析的全局查询阻止列表的支持。 默认情况下,DNS 服务器服务会在服务首次启动时创建并启用全局查询阻止列表。 若要查看当前的全局查询阻止列表,请使用 dnscmd /info /globalqueryblocklist 命令。 接受以下值:
|
/eventloglevel [0|1|2|4] |
确定事件查看器 DNS 服务器日志中记录哪些事件。 接受以下值:
|
/forwarddelegations [0|1] |
确定 DNS 服务器如何处理委托子区域的查询。 这些查询可以发送到查询中引用的子区域,也可以发送到为 DNS 服务器指定的转发器列表。 设置中的条目仅在启用转发时使用。 接受以下值:
|
/forwardingtimeout [<seconds>] |
确定 DNS 服务器在尝试另一个转发器之前等待转发器响应的秒数 (0x1-0xFFFFFFFF)。 默认值为 0x5,即 5 秒。 |
/globalneamesqueryorder [0|1] |
指定 DNS 服务器服务在解析名称时是首先在 GlobalNames 区域还是本地区域中查找。 接受以下值:
|
/globalqueryblocklist[[<name> [<name>]...] |
将当前全局查询阻止列表替换为指定的名称列表。 如果未指定任何名称,则此命令将清除阻止列表。 默认情况下,全局查询阻止列表包含以下项:
|
/isslave [0|1] |
确定 DNS 服务器在转发的查询未收到响应时如何响应。 接受以下值:
|
/localnetpriority [0|1] |
确定当 DNS 服务器具有同名的多个主机记录时,主机记录的返回顺序。 接受以下值:
|
/logfilemaxsize [<size>] |
指定 Dns.log 文件的最大大小 (0x10000-0xFFFFFFFF)。 当文件达到其最大大小时,DNS 会覆盖最早的事件。 默认大小为 0x400000,即 4 兆字节 (MB)。 |
/logfilepath [<path+logfilename>] |
指定 Dns.log 文件的路径。 默认路径为 %systemroot%\System32\Dns\Dns.log 。 可以使用 path+logfilename 格式指定其他路径。 |
/logipfilterlist <IPaddress> [,<IPaddress>...] |
指定在调试日志文件中记录的数据包。 这些条目是 IP 地址的列表。 仅记录传入和来自列表中的 IP 地址的数据包。 |
/loglevel [<eventtype>] |
确定 Dns.log 文件中记录的事件类型。 每个事件类型都由十六进制数表示。 如果日志中需要多个事件,请使用十六进制加法来添加值,然后输入总和。 接受以下值:
|
/maxcachesize | 指定 DNS 服务器内存缓存的最大大小,以千字节 (KB) 为单位。 |
/maxcachettl [<seconds>] |
确定记录在缓存中保存的秒数 (0x0-0xFFFFFFFF)。 如果使用 0x0 设置,则 DNS 服务器不会缓存记录。 默认设置为 0x15180(86,400 秒或 1 天)。 |
/maxnegativecachettl [<seconds>] |
指定记录查询否定答案的条目在 DNS 缓存中保留的秒数 (0x1-0xFFFFFFFF)。 默认设置为 0x384(900 秒)。 |
/namecheckflag [0|1|2|3] |
指定检查 DNS 名称时使用的字符标准。 接受以下值:
|
/norecursion [0|1] |
确定 DNS 服务器是否执行递归名称解析。 接受以下值:
|
/notcp | 此参数已过时,在当前版本的 Windows Server 中不起作用。 |
/recursionretry [<seconds>] |
确定 DNS 服务器在再次尝试联系远程服务器之前等待的秒数 (0x1-0xFFFFFFFF)。 默认设置为 0x3(三秒)。 在慢速广域网 (WAN) 链路上进行递归时,应增加此值。 |
/recursiontimeout [<seconds>] |
确定 DNS 服务器在停止尝试联系远程服务器之前等待的秒数 (0x1-0xFFFFFFFF)。 设置范围从 0x1 到 0xFFFFFFFF。 默认设置为 0xF(15 秒)。 在慢速 WAN 链路上进行递归时,应增大此值。 |
/roundrobin [0|1] |
确定当服务器具有同名的多个主机记录时,主机记录的返回顺序。 接受以下值:
|
/rpcprotocol [0x0|0x1|0x2|0x4|0xFFFFFFFF] |
指定远程过程调用 (RPC) 从 DNS 服务器建立连接时使用的协议。 接受以下值:
|
/scavenginginterval [<hours>] |
确定是否启用 DNS 服务器的清理功能,并设置清理周期之间的小时数 (0x0-0xFFFFFFFF)。 默认设置为 0x0,这将禁用 DNS 服务器的清理。 大于 0x0 的设置将启用服务器的清理,并设置清理周期之间的小时数。 |
/secureresponses [0|1] |
确定 DNS 是否筛选保存在缓存中的记录。 接受以下值:
|
/sendport [<port>] |
指定 DNS 用于向其他 DNS 服务器发送递归查询的端口号 (0x0-0xFFFFFFFF)。 默认设置为 0x0,这意味着端口号是随机选择的。 |
/serverlevelplugindll[<dllpath>] |
指定自定义插件的路径。 当 Dllpath 指定有效 DNS 服务器插件的完全限定路径名时,DNS 服务器将调用插件中的函数来解析所有本地托管区域范围之外的名称查询。 如果查询的名称超出插件的范围,则 DNS 服务器将根据配置方式,使用转发或递归来执行名称解析。 如果未指定 Dllpath,那么如果之前配置了自定义插件,则 DNS 服务器将停止使用自定义插件。 |
/strictfileparsing [0|1] |
确定 DNS 服务器在加载区域时遇到错误记录时的行为。 接受以下值:
|
/updateoptions <RecordValue> |
禁止动态更新指定类型的记录。 如果要在日志中禁止多个记录类型,请使用十六进制加法将值相加,然后输入总和。 接受以下值:
|
/writeauthorityns [0|1] |
确定 DNS 服务器何时将名称服务器 (NS) 资源记录写入响应的 Authority(授权机构)部分。 接受以下值:
|
/xfrconnecttimeout [<seconds>] |
确定主 DNS 服务器等待来自其辅助服务器的传输响应的秒数 (0x0-0xFFFFFFFF)。 默认值为 0x1E(30 秒)。 超时值到期后,连接将终止。 |
区域级语法
修改指定的区域的配置。 只能为区域级别参数指定区域名称。
dnscmd /config <parameters>
参数
参数 | 说明 |
---|---|
<parameter> |
指定设置、区域名称和值(作为选项)。 参数值使用以下语法:zonename parameter [value] 。 |
/aging <zonename> |
在特定区域中启用或禁用清理。 |
/allownsrecordsautocreation <zonename> [value] |
覆盖 DNS 服务器的名称服务器 (NS) 资源记录自动创建设置。 以前为此区域注册的名称服务器 (NS) 资源记录不受影响。 因此,如果不需要它们,则必须手动删除。 |
/allowupdate <zonename> |
确定指定的区域是否接受动态更新。 |
/forwarderslave <zonename> |
覆盖 DNS 服务器的 /isslave 设置。 |
/forwardertimeout <zonename> |
确定 DNS 区域在尝试另一个转发器之前等待转发器响应的秒数。 此值将覆盖在服务器级别设置的值。 |
/norefreshinterval <zonename> |
设置区域的时间间隔,在此时间间隔内,任何刷新都不能动态更新指定区域中的 DNS 记录。 |
/refreshinterval <zonename> |
设置区域的时间间隔,在此时间间隔内,刷新可以动态更新指定区域中的 DNS 记录。 |
/securesecondaries <zonename> |
确定哪些辅助服务器可以从该区域的主服务器接收区域更新。 |
dnscmd /createbuiltindirectorypartitions 命令
创建 DNS 应用程序目录分区。 安装 DNS 时,将在林和域级别创建服务的应用程序目录分区。 使用此命令可创建已删除或从未创建的 DNS 应用程序目录分区。 如果不使用任何参数,此命令将为域创建内置 DNS 目录分区。
语法
dnscmd [<servername>] /createbuiltindirectorypartitions [/forest] [/alldomains]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
/forest | 为林创建 DNS 目录分区。 |
/alldomains | 为林中的所有域创建 DNS 分区。 |
dnscmd /createdirectorypartition 命令
创建 DNS 应用程序目录分区。 安装 DNS 时,将在林和域级别创建服务的应用程序目录分区。 此操作将创建其他 DNS 应用程序目录分区。
语法
dnscmd [<servername>] /createdirectorypartition <partitionFQDN>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<partitionFQDN> |
将创建的 DNS 应用程序目录分区的 FQDN。 |
dnscmd /deletedirectorypartition 命令
移除现有的 DNS 应用程序目录分区。
语法
dnscmd [<servername>] /deletedirectorypartition <partitionFQDN>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<partitionFQDN> |
将要移除的 DNS 应用程序目录分区的 FQDN。 |
dnscmd /directorypartitioninfo 命令
列出有关指定 DNS 应用程序目录分区的信息。
语法
dnscmd [<servername>] /directorypartitioninfo <partitionFQDN> [/detail]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<partitionFQDN> |
DNS 应用程序目录分区的 FQDN。 |
/detail | 列出有关应用程序目录分区的所有信息。 |
dnscmd /enlistdirectorypartition 命令
将 DNS 服务器添加到指定目录分区的副本集。
语法
dnscmd [<servername>] /enlistdirectorypartition <partitionFQDN>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<partitionFQDN> |
DNS 应用程序目录分区的 FQDN。 |
dnscmd /enumdirectorypartitions 命令
列出指定服务器的 DNS 应用程序目录分区。
语法
dnscmd [<servername>] /enumdirectorypartitions [/custom]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
/custom | 仅列出用户创建的目录分区。 |
dnscmd /enumrecords 命令
列出 DNS 区域中指定节点的资源记录。
语法
dnscmd [<servername>] /enumrecords <zonename> <nodename> [/type <rrtype> <rrdata>] [/authority] [/glue] [/additional] [/node | /child | /startchild<childname>] [/continue | /detail]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
/enumrecords | 列出指定区域中的资源记录。 |
<zonename> |
指定资源记录所属区域的名称。 |
<nodename> |
指定资源记录的节点名称。 |
[/type <rrtype> <rrdata>] |
指定要列出的资源记录类型和预期的数据类型。 接受以下值:
|
/authority | 包括授权数据。 |
/glue | 包括粘附数据。 |
/additional | 包括有关列出的资源记录的所有其他信息。 |
/node | 仅列出指定节点的资源记录。 |
/child | 仅列出指定子域的资源记录。 |
/startchild<childname> |
从指定的子域开始列表。 |
/continue | 仅列出资源记录及其类型和数据。 |
/detail | 列出有关资源记录的所有信息。 |
示例
dnscmd /enumrecords test.contoso.com test /additional
dnscmd /enumzones 命令
列出指定 DNS 服务器上存在的区域。 enumzones 参数用作区域列表上的过滤器。 如果未指定过滤器,则返回完整的区域列表。 指定筛选器后,只有满足该筛选器条件的区域才会包含在返回的区域列表中。
语法
dnscmd [<servername>] /enumzones [/primary | /secondary | /forwarder | /stub | /cache | /auto-created] [/forward | /reverse | /ds | /file] [/domaindirectorypartition | /forestdirectorypartition | /customdirectorypartition | /legacydirectorypartition | /directorypartition <partitionFQDN>]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
/primary | 列出所有作为标准主要区域或 Active Directory 集成区域的区域。 |
/secondary | 列出所有标准辅助区域。 |
/forwarder | 列出将未解析的查询转发到其他 DNS 服务器的区域。 |
/stub | 列出所有存根区域。 |
/cache | 仅列出加载到缓存中的区域。 |
/auto-created] | 列出在 DNS 服务器安装过程中自动创建的区域。 |
/forward | 列出前向查找区域。 |
/reverse | 列出反向查找区域。 |
/ds | 列出 Active Directory 集成区域。 |
/file | 列出基于文件的区域。 |
/domaindirectorypartition | 列出存储在域目录分区中的区域。 |
/forestdirectorypartition | 列出存储在林 DNS 应用程序目录分区中的区域。 |
/customdirectorypartition | 列出存储在用户定义的应用程序目录分区中的所有区域。 |
/legacydirectorypartition | 列出存储在域目录分区中的所有区域。 |
/directorypartition <partitionFQDN> |
列出存储在指定目录分区中的所有区域。 |
示例
dnscmd /exportsettings 命令
创建一个文本文件,其中列出 DNS 服务器配置详细信息。 文本文件名为 DnsSettings.txt。 它位于服务器的 %systemroot%\system32\dns
目录中。 可以使用 dnscmd /exportsettings 创建的文件中的信息来排查配置问题,或确保已以相同的方式配置了多台服务器。
语法
dnscmd [<servername>] /exportsettings
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
dnscmd /info 命令
显示指定服务器 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
的注册表的 DNS 部分中的设置。 要显示区域级注册表设置,请使用 dnscmd zoneinfo
命令。
语法
dnscmd [<servername>] /info [<settings>]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<settings> |
可以单独指定 info 命令返回的任何设置。 如果未指定设置,则会返回通用设置的报告。 |
示例
dnscmd /ipvalidate 命令
测试 IP 地址是否标识正在运行的 DNS 服务器,或者 DNS 服务器是否可以充当特定区域的转发器、根提示服务器或主服务器。
语法
dnscmd [<servername>] /ipvalidate <context> [<zonename>] [[<IPaddress>]]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<context> |
指定要执行的测试类型。 可以指定以下任何测试:
|
<zonename> |
标识区域。 将此参数与 /zonemasters 参数一起使用。 |
<IPaddress> |
指定命令测试的 IP 地址。 |
示例
nscmd dnssvr1.contoso.com /ipvalidate /dnsservers 10.0.0.1 10.0.0.2
dnscmd dnssvr1.contoso.com /ipvalidate /zonemasters corp.contoso.com 10.0.0.2
dnscmd /nodedelete 命令
删除指定主机的所有记录。
语法
dnscmd [<servername>] /nodedelete <zonename> <nodename> [/tree] [/f]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定区域的名称。 |
<nodename> |
指定要删除的节点的主机名。 |
/tree | 删除所有子记录。 |
/f | 执行命令而不要求确认。 |
示例
dnscmd /recordadd 命令
向 DNS 服务器中的指定区域添加记录。
语法
dnscmd [<servername>] /recordadd <zonename> <nodename> <rrtype> <rrdata>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定记录所在的区域。 |
<nodename> |
指定区域中的特定节点。 |
<rrtype> |
指定要添加的记录类型。 |
<rrdata> |
指定预期的数据类型。 |
注意
添加记录后,请确保使用正确的数据类型和数据格式。 有关资源记录类型和相应数据类型的列表,请参阅 Dnscmd 示例。
示例
dnscmd dnssvr1.contoso.com /recordadd test A 10.0.0.5
dnscmd /recordadd test.contoso.com test MX 10 mailserver.test.contoso.com
dnscmd /recorddelete 命令
从指定区域中删除资源记录。
语法
dnscmd [<servername>] /recorddelete <zonename> <nodename> <rrtype> <rrdata> [/f]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定资源记录所在的区域。 |
<nodename> |
指定主机的名称。 |
<rrtype> |
指定要删除的资源记录的类型。 |
<rrdata> |
指定预期的数据类型。 |
/f | 执行命令而不要求确认。 由于节点可以有多个资源记录,因此此命令要求指定要删除的资源记录的类型。 如果指定了数据类型而没有指定资源记录数据的类型,则会删除指定节点的所有具有该特定数据类型的记录。 |
示例
dnscmd /recorddelete test.contoso.com test MX 10 mailserver.test.contoso.com
dnscmd/resetforwarders 命令
当 DNS 服务器无法在本地解析 DNS 查询时,选择或重置 DNS 服务器将 DNS 查询转发到的 IP 地址。
语法
dnscmd [<servername>] /resetforwarders <IPaddress> [,<IPaddress>]...][/timeout <timeout>] [/slave | /noslave]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<IPaddress> |
列出 DNS 服务器将未解析的查询转发到的 IP 地址。 |
/timeout <timeout> |
设置 DNS 服务器等待转发器响应的秒数。 默认情况下,此值为 5 秒。 |
/slave | 如果转发器无法解析查询,则阻止 DNS 服务器执行其自身的迭代查询。 |
/noslave | 如果转发器无法解析查询,则允许 DNS 服务器执行自己的迭代查询。 这是默认设置。 |
/f | 执行命令而不要求确认。 由于节点可以有多个资源记录,因此此命令要求指定要删除的资源记录的类型。 如果指定了数据类型而没有指定资源记录数据的类型,则会删除指定节点的所有具有该特定数据类型的记录。 |
注解
默认情况下,DNS 服务器在无法解析查询时执行迭代查询。
使用 resetforwarders 命令设置 IP 地址会导致 DNS 服务器对指定 IP 地址的 DNS 服务器执行递归查询。 如果转发器无法解析查询,则 DNS 服务器可以执行自己的迭代查询。
如果使用 /slave 参数,则 DNS 服务器不会执行自己的迭代查询。 这意味着 DNS 服务器仅将未解析的查询转发到列表中的 DNS 服务器;如果转发器不解析查询,则不会尝试迭代查询。 将一个 IP 地址设置为 DNS 服务器的转发器更有效。 你可以对网络中的内部服务器使用 resetforwarders 命令,以将其未解析的查询转发到一个具有外部连接的 DNS 服务器。
两次列出转发器的 IP 地址会导致 DNS 服务器两次尝试转发到该服务器。
示例
dnscmd dnssvr1.contoso.com /resetforwarders 10.0.0.1 /timeout 7 /slave
dnscmd dnssvr1.contoso.com /resetforwarders /noslave
dnscmd /resetlistenaddresses 命令
指定服务器上侦听 DNS 客户端请求的 IP 地址。 默认情况下,DNS 服务器上的所有 IP 地址都会侦听客户端 DNS 请求。
语法
dnscmd [<servername>] /resetlistenaddresses <listenaddress>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<listenaddress> |
指定侦听 DNS 客户端请求的 DNS 服务器上的 IP 地址。 如果未指定侦听地址,则服务器上的所有 IP 地址都将侦听客户端请求。 |
示例
dnscmd dnssvr1.contoso.com /resetlistenaddresses 10.0.0.1
dnscmd/startscavenging 命令
通知 DNS 服务器尝试立即搜索指定 DNS 服务器中的陈旧资源记录。
语法
dnscmd [<servername>] /startscavenging
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
备注
成功完成此命令将立即启动清除。 如果清除失败,不会显示警告消息。
尽管启动清除的命令似乎已成功完成,但除非满足以下先决条件,否则清除不会启动:
服务器和区域都启用了清理功能。
区域已启动。
资源记录具有时间戳。
有关如何为服务器启用清理的信息,请参见 /config 节中 Server-level synta 下面的 scavenginginterval 参数。
有关如何为区域启用清理的信息,请参见 /config 节中 Zone-level syntax 下的 aging 参数。
有关如何重新启动已暂停的区域的信息,请参见本文中的 zoneresume 参数。
有关如何检查资源记录的时间戳的信息,请参阅本文中的 ageallrecords 参数。
示例
dnscmd dnssvr1.contoso.com /startscavenging
dnscmd /statistics 命令
显示或清除指定 DNS 服务器的数据。
语法
dnscmd [<servername>] /statistics [<statid>] [/clear]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<statid> |
指定要显示的统计信息或统计信息组合。 statistics 命令显示 DNS 服务器启动或恢复时开始的计数器。 标识号用于标识统计信息。 如果未指定统计信息 ID 号,则显示所有统计信息。 可以指定的数字以及显示的相应统计信息可以包括:
|
示例
dnscmd /unenlistdirectorypartition 命令
从指定目录分区的副本集中移除 DNS 服务器。
语法
dnscmd [<servername>] /unenlistdirectorypartition <partitionFQDN>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<partitionFQDN> |
将要移除的 DNS 应用程序目录分区的 FQDN。 |
dnscmd /writebackfiles 命令
检查 DNS 服务器内存中的更改,并将其写入永久存储。 writebackfiles 命令可更新所有脏区或指定的区域。 当内存中存在尚未写入永久性存储的更改时,区域会变脏。 这是检查所有区域的服务器级操作。 你可以在此操作中指定一个区域,也可以使用 zonewriteback 操作。
语法
dnscmd [<servername>] /writebackfiles <zonename>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要更新的区域的名称。 |
示例
dnscmd dnssvr1.contoso.com /writebackfiles
dnscmd /zoneadd 命令
将区域添加到 DNS 服务器。
语法
dnscmd [<servername>] /zoneadd <zonename> <zonetype> [/dp <FQDN> | {/domain | enterprise | legacy}]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定区域的名称。 |
<zonetype> |
指定要创建的分区类型。 将区域类型指定为 /forwarder 或 /dsforwarder 将创建执行条件转发的区域。 每个区域类型都有不同的必需参数:
|
<FQDN> |
指定目录分区的 FQDN。 |
/domain | 将区域存储在域目录分区上。 |
/enterprise | 将区域存储在企业目录分区上。 |
/legacy | 将区域存储在旧目录分区上。 |
示例
dnscmd dnssvr1.contoso.com /zoneadd test.contoso.com /dsprimary
dnscmd dnssvr1.contoso.com /zoneadd secondtest.contoso.com /secondary 10.0.0.2
dnscmd /zonechangedirectorypartition 命令
更改指定区域所在的目录分区。
语法
dnscmd [<servername>] /zonechangedirectorypartition <zonename> {[<newpartitionname>] | [<zonetype>]}
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
区域所在的当前目录分区的 FQDN。 |
<newpartitionname> |
区域将移动到的目录分区的 FQDN。 |
<zonetype> |
指定区域将移动到的目录分区的类型。 |
/domain | 将区域移动到内置域目录分区。 |
/forest | 将区域移动到内置林目录分区。 |
/legacy | 将区域移动到为预 Active Directory 域控制器创建的目录分区。 这些目录分区对于本机模式不是必需的。 |
dnscmd /zonedelete 命令
删除指定的区域。
语法
dnscmd [<servername>] /zonedelete <zonename> [/dsdel] [/f]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要删除的区域的名称。 |
/dsdel | 从 Azure 目录域服务(AD DS) 中删除区域。 |
/f | 运行命令而不要求确认。 |
示例
dnscmd /zoneexport 命令
创建一个文本文件,其中列出指定区域的资源记录。 zoneexport 操作为 Active Directory 集成区域创建一个资源记录文件,用于故障排除。 默认情况下,此命令创建的文件放在 DNS 目录中,默认为 %systemroot%/System32/Dns
目录。
语法
dnscmd [<servername>] /zoneexport <zonename> <zoneexportfile>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定区域的名称。 |
<zoneexportfile> |
指定要创建的文件的名称。 |
示例
dnscmd /zoneinfo
显示指定区域的注册表部分的设置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters\Zones\<zonename>
语法
dnscmd [<servername>] /zoneinfo <zonename> [<setting>]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定区域的名称。 |
<setting> |
可以单独指定 zoneinfo 命令返回的任何设置。 如果不指定设置,则返回所有设置。 |
注解
要显示服务器级别的注册表设置,请使用 /info 命令。
要查看可使用此命令显示的设置列表,请参阅 /config 命令。
示例
dnscmd /zonepause 命令
暂停指定的区域,然后忽略查询请求。
语法
dnscmd [<servername>] /zonepause <zonename>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要暂停的区域的名称。 |
注解
- 若要恢复区域并在暂停后使其可用,请使用 /zoneresume 命令。
示例
dnscmd dnssvr1.contoso.com /zonepause test.contoso.com
dnscmd /zoneprint 命令
列出区域中的记录。
语法
dnscmd [<servername>] /zoneprint <zonename>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要列出的区域的名称。 |
dnscmd /zonerefresh 命令
强制从主区域更新辅助 DNS 区域。
语法
dnscmd [<servername>] /zonerefresh <zonename>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要刷新的区域的名称。 |
备注
zonerefresh 命令强制检查主服务器的起始授权机构 (SOA) 资源记录中的版本号。 如果主服务器上的版本号高于辅助服务器的版本号,则会启动区域复制以更新辅助服务器。 如果版本号相同,则不会发生区域传输。
默认情况下,每 15 分钟进行一次强制检查。 要更改默认值,请使用
dnscmd config refreshinterval
命令。
示例
dnscmd dnssvr1.contoso.com /zonerefresh test.contoso.com
dnscmd /zonereload 命令
从其源复制区域信息。
语法
dnscmd [<servername>] /zonereload <zonename>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要重新加载的区域的名称。 |
注解
如果此区域集成了 Active Directory,则此区域将从 Active Directory 域服务 (AD DS) 重新加载。
如果此区域是基于标准文件的区域,则此区域将从文件重新加载。
示例
dnscmd dnssvr1.contoso.com /zonereload test.contoso.com
dnscmd /zoneresetmasters 命令
重置向辅助区域提供区域传输信息的主服务器的 IP 地址。
语法
dnscmd [<servername>] /zoneresetmasters <zonename> [/local] [<IPaddress> [<IPaddress>]...]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要重置的区域的名称。 |
/local | 设置本地主列表。 此参数用于 Active Directory 集成区域。 |
<IPaddress> |
辅助区域的主服务器的 IP 地址。 |
备注
- 此值最初是在创建辅助区域时设置的。 在辅助服务器上使用 zoneresetmasters 命令。 如果在主 DNS 服务器上设置了此值,则该值无效。
示例
dnscmd dnssvr1.contoso.com /zoneresetmasters test.contoso.com 10.0.0.1
dnscmd dnssvr1.contoso.com /zoneresetmasters test.contoso.com /local
dnscmd /zoneresetscavengeservers 命令
更改可以清理指定区域的服务器的 IP 地址。
语法
dnscmd [<servername>] /zoneresetscavengeservers <zonename> [/local] [<IPaddress> [<IPaddress>]...]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要清理的区域。 |
/local | 设置本地主列表。 此参数用于 Active Directory 集成区域。 |
<IPaddress> |
列出了可以执行清理的服务器的 IP 地址。 如果省略此参数,则承载此区域的所有服务器都可以清理此区域。 |
注解
默认情况下,承载某个区域的所有服务器都可以清理此区域。
如果区域驻留在多个 DNS 服务器上,则可以使用此命令减少清理区域的次数。
必须在受此命令影响的 DNS 服务器和区域中启用清理。
示例
dnscmd dnssvr1.contoso.com /zoneresetscavengeservers test.contoso.com 10.0.0.1 10.0.0.2
dnscmd/zoneresetsecondaries 命令
指定辅助服务器的 IP 地址列表,当请求进行区域传输时,主服务器会响应这些服务器。
语法
dnscmd [<servername>] /zoneresetsecondaries <zonename> {/noxfr | /nonsecure | /securens | /securelist <securityIPaddresses>} {/nonotify | /notify | /notifylist <notifyIPaddresses>}
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定将重置其辅助服务器的区域的名称。 |
/local | 设置本地主列表。 此参数用于 Active Directory 集成区域。 |
/noxfr | 指定不允许区域传输。 |
/nonsecure | 指定许可所有区域传输请求。 |
/securens | 指定只有在区域的名称服务器 (NS) 资源记录中列出的服务器才会被授予传输许可。 |
/securelist | 指定仅向服务器列表授予区域传输许可。 此参数后面必须是主服务器使用的一个或多个 IP 地址。 |
<securityIPaddresses> |
列出从主服务器接收区域传输的 IP 地址。 此参数只能与 /securelist 参数一起使用。 |
/nonotify | 指定不向辅助服务器发送更改通知。 |
/notify | 指定向所有辅助服务器发送更改通知。 |
/notifylist | 指定仅向服务器列表发送更改通知。 此命令后面必须是主服务器使用的一个或多个 IP 地址。 |
<notifyIPaddresses> |
指定要向其发送更改通知的辅助服务器(一个或多个)的 IP 地址(一个或多个)。 此列表仅只能与 /notifylist 参数一起使用。 |
备注
- 在主服务器上使用 zoneresetsecondaries 命令指定它如何响应来自辅助服务器的区域复制请求。
示例
dnscmd dnssvr1.contoso.com /zoneresetsecondaries test.contoso.com /noxfr /nonotify
dnscmd dnssvr1.contoso.com /zoneresetsecondaries test.contoso.com /securelist 11.0.0.2
dnscmd /zoneresettype 命令
修改区域的类型。
语法
dnscmd [<servername>] /zoneresettype <zonename> <zonetype> [/overwrite_mem | /overwrite_ds]
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
标识将要更改类型的区域。 |
<zonetype> |
指定要创建的分区类型。 每种类型都有不同的必需参数,包括:
|
/overwrite_mem | 用 AD DS 中的数据覆盖 DNS 数据。 |
/overwrite_ds | 覆盖 AD DS 中的现有数据。 |
注解
- 将区域类型设置为 /dsforwarder 可创建执行条件转发的区域。
示例
dnscmd dnssvr1.contoso.com /zoneresettype test.contoso.com /primary /file test.contoso.com.dns
dnscmd dnssvr1.contoso.com /zoneresettype second.contoso.com /secondary 10.0.0.2
dnscmd /zoneresume 命令
启动以前暂停的指定区域。
语法
dnscmd [<servername>] /zoneresume <zonename>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要恢复的区域的名称。 |
注解
- 可以使用此操作从 /zonepause 操作重新开始。
示例
dnscmd dnssvr1.contoso.com /zoneresume test.contoso.com
dnscmd /zoneupdatefromds 命令
从 AD DS 更新指定的 Active Directory 集成区域。
语法
dnscmd [<servername>] /zoneupdatefromds <zonename>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要更新的区域的名称。 |
备注
- 默认情况下,Active Directory 集成区域每五分钟执行一次此更新。 要更改此参数,请使用
dnscmd config dspollinginterval
命令。
示例
dnscmd dnssvr1.contoso.com /zoneupdatefromds
dnscmd /zonewriteback 命令
检查 DNS 服务器内存,找出与指定区域相关的更改,并将其写入永久存储。
语法
dnscmd [<servername>] /zonewriteback <zonename>
参数
参数 | 说明 |
---|---|
<servername> |
指定要管理的 DNS 服务器,由 IP 地址、FQDN 或主机名表示。 如果省略此参数,则使用本地服务器。 |
<zonename> |
指定要更新的区域的名称。 |
备注
- 这是区域级别的操作。 可以使用 /writebackfiles 操作更新 DNS 服务器上的所有区域。
示例
dnscmd dnssvr1.contoso.com /zonewriteback test.contoso.com