一、 写作背景
内网 DNS 要批量增加一些域名,手动添加太慢,太繁琐,使用 Windows 的 WMI 接口批量添加是一个很好的方法
二、 配置文件准备
所需文件格式
域名:将要设置的域名
IN:默认
A:记录格式,域名转 IPV4;还可以是 AAA: 域名转 IPV6 ,MX 邮件记录,text:文本记录 等
IP:域名要对应的 IP
*.kube.uat IN A 172.17.0.154
*.kube.uat IN A 172.17.0.155
*.kube.uat IN A 172.17.0.156
*.kube.uat IN A 172.17.0.157
*.kube.uat IN A 172.17.0.158
*.kube.uat IN A 172.17.0.159
kube-m1.kube.uat IN A 172.17.0.151
kube-m2.kube.uat IN A 172.17.0.152
kube-m3.kube.uat IN A 172.17.0.153
kube-n1.kube.uat IN A 172.17.0.154
kube-n2.kube.uat IN A 172.17.0.155
kube-n3.kube.uat IN A 172.17.0.156
kube-n4.kube.uat IN A 172.17.0.157
kube-n5.kube.uat IN A 172.17.0.158
kube-n6.kube.uat IN A 172.17.0.159
三、 命令行执行
打开 PowerShell,设置DNS服务器名称,域名,执行命令
# 如果是在本地操作,则 DNS server name 可以设置为空,否则设置为该服务器的完整名称(如: dns1.aa.com)
$dnsServerName=""
# containerName 为 你将要设置的域名后缀如 www.kube.uat 的 containerName 即为 kube.uat,此项需要提前在 DNS 服务器上添加该域
$containerName="kube.uat"
# mydns 变量,获取 WMI 的 DNS 函数
$mydns=[WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_resourceRecord"
# 执行配置命令(读取配置文件,执行设置命令)
Get-Content kube.uat.txt | Foreach-Object {$mydns.CreateInstanceFromTextRepresentation($dnsServerName, $containerName, $_)}
待命令执行完成后即可。
四、 文章引用
PowerShell 批量创建DNS A记录
PowerShell操作Windows DNS服务
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 long@longger.xin