DNS添加/修改/查询/删除A记录

#查询DNS可用类

Get-WmiObject -Namespace rootMicrosoftDNS -List

#查询所有资源记录

$mydns = [WMIClass]"ROOTMicrosoftDNS:MicrosoftDNS_ResourceRecord"
$mydns = [WMIClass]"\$ServerROOTMicrosoftDNS:MicrosoftDNS_ResourceRecord"

#查询已有区域

gwmi -Namespace rootmicrosoftdns -Class MicrosoftDNS_zone |select ContainerName

#查询 ddv.com区域下的所有A记录

Get-WmiObject -Namespace rootMicrosoftDNS -class microsoftdns_atype | ? {$_.ContainerName -eq "ddv.com"} |Select TextRepresentation

#查询单条A记录

#查询 bb.ddv.com 的A记录
$ARecord = Get-WmiObject -Namespace rootMicrosoftDNS -class MicrosoftDNS_ResourceRecord -filter "containername='ddv.com' AND OwnerName='bb.ddv.com'"
#查询 bb.ddv.com 的A记录
$ARecord = Get-WmiObject -Namespace rootMicrosoftDNS -class microsoftdns_atype | ? {$_.OwnerName -eq "bb.ddv.com"}

#修改A记录

#修改A记录 bb.ddv.com 的IP指向为172.0.0.23
$ARecord = Get-WmiObject -Namespace rootMicrosoftDNS -class microsoftdns_atype | ? {$_.OwnerName -eq "bb.ddv.com"} 
$ARecord.Modify($ARecord.TTL,"127.0.0.223")

 #删除A记录

#删除A记录 bb.ddv.com 
$ARecord = Get-WmiObject -Namespace rootMicrosoftDNS -class microsoftdns_atype | ? {$_.OwnerName -eq "bb.ddv.com"}
$ARecord.delete()

#添加A记录

#添加单条A记录 bb.ddv.com IN A 127.0.0.3
$dnsServerName=""
$containerName="ddv.com"
$dns = [WMIClass]"ROOTMicrosoftDNS:MicrosoftDNS_ResourceRecord"
$dns.CreateInstanceFromTextRepresentation($dnsServerName, $containerName, "bb.ddv.com IN A 127.0.0.3")
#批量添加A记录
$dnsServerName=""
$containerName="ddv.com"
$dns = [WMIClass]"ROOTMicrosoftDNS:MicrosoftDNS_ResourceRecord"
Get-Content D:dnsListFile.txt | Foreach-Object {$dns.CreateInstanceFromTextRepresentation($dnsServerName, $containerName, $_)}

 dnsListFile.txt内容如下:

 aaa.ddv.com IN A 127.0.0.1
 bb.ddv.com IN A 127.0.0.2

#查询转发服务器

gwmi -Namespace "rootMicrosoftDNS" -class "MicrosoftDNS_Server" | Select-Object -ExpandProperty Forwarders


From:http://blogs.technet.com/b/heyscriptingguy/archive/2010/09/13/manage-dns-in-a-windows-environment-by-using-powershell.aspx

原文地址:https://www.cnblogs.com/dreamer-fish/p/4022651.html