windows 自带的 dns 命令行管理工具是 dnscmd.exe,可创建正向查找区域但需后续配置 a 记录、动态更新等才能解析;语法为 dnscmd /zoneadd /primary [/file | /dp /domain],创建后须验证并补充必要记录与权限。
windows 自带的 dns 命令行管理工具是 dnscmd.exe,它支持在不打开图形界面(dns mmc)的情况下创建正向查找区域。但需注意:dnscmd 不能直接“一键添加”完整可解析的区域——它能创建区域结构,但后续仍需手动或脚本补充 a 记录、启用动态更新等,否则区域无实际解析能力。
以下是使用 dnscmd 快速创建正向查找区域的核心步骤和关键说明:
使用 dnscmd 创建正向查找区域
确保你以管理员身份运行命令提示符或 PowerShell(dnscmd 需要本地管理员权限,且目标服务器必须已安装并运行 DNS 服务)。
基本语法:
dnscmd <dns> /zoneadd /primary [/file ] [/dp ]</dns>
常见实用示例(以本地服务器为例):
dnscmd . /zoneadd corp.contoso.com /primary /file corp.contoso.com.dns
-
.表示本地 DNS 服务器 -
/zoneadd是创建指令 -
corp.contoso.com是区域名称(不加尾点,如不要写成corp.contoso.com.) -
/primary指定为主区域 -
/file指定区域数据文件名(仅适用于非 AD 集成区域;若省略,系统自动生成)
若希望创建 AD 集成区域(推荐用于域环境),需指定目录分区:
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
dnscmd . /zoneadd corp.contoso.com /primary /dp /domain
-
/dp /domain表示将区域存储在域范围的 Active Directory 中(自动复制到所有同域 DNS 服务器) - 此时无需
/file参数,AD 会托管数据
创建后必须做的几件事(否则区域不可用)
区域创建成功只是第一步,以下操作缺一不可:
- ✅ 手动添加至少一条 A 记录(如
@或host1),否则nslookup corp.contoso.com会返回“Non-existent domain” - ✅ 确认 DNS 服务正在运行(
net start | findstr "DNS") - ✅ 若客户端要解析该区域,需将其 DNS 服务器地址指向这台机器
- ✅ 如需支持客户端自动注册(如域成员机加域后自动写入记录),需额外配置动态更新权限(
dnscmd不直接设置该策略,需配合dnscmd /config或组策略)
验证是否创建成功
dnscmd . /enumzones
查看输出中是否包含你的区域名称。
再查区域状态:
dnscmd . /zoneinfo corp.contoso.com
确认 Zone Type 显示为 Primary,且 Status 为 0x0 (Success)。
不复杂但容易忽略










