有个项目需求,要在windows2008的dns中批量创建若干A记录。
用powershell的话有两点需要考虑:1、自定义导入文本的格式;2、调用wmi创建。没关系一个个来。
第一个,自定义导入的文本格式,由于要创建的A记录都是统一的只是IP地址和域名不同罢了,于是我是这样来定义的:
导入文件中每一行是一个A记录信息,IP地址和域名信息中间用‘,’隔开。
样例:
192.168.0.1,a.test08.local
用记事本创建好后保存成txt文件即可。
第二个,ps脚本调用DNS方法。
源码如下:
$path = read-host "请输入导入文件的绝对路径"
$zone = read-host "请输入区域名称"
# 输入文件路径及DNS的zone
$content = get-content $path
# 获取导入文件的内容
$content| foreach{
# 按行遍历
$d = $_.split(",")
# 将行信息用','分隔并存入变量d中
$ip = $d[0]
$fqdn = $d[1]
# 每行的前半部分存入变量IP中,后半部分存入FQDN中
$a = [wmiclass]//./root/microsoftdns:microsoftdns_atype
# 链接本机WMI
$a.createinstancefrompropertydata(".",$zone,$fqdn,"1","3600",$ip)
# 调用方法并将相关信息赋值创建
}
脚本很简单,没有添加错误处理等。之后再完善吧。