#查询DNS可用类
Get-WmiObject -Namespace root\MicrosoftDNS -List
#查询所有资源记录
$mydns = [WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_ResourceRecord"$mydns = [WMIClass]"\\$Server\ROOT\MicrosoftDNS:MicrosoftDNS_ResourceRecord"
#查询已有区域
gwmi -Namespace root\microsoftdns -Class MicrosoftDNS_zone |select ContainerName
#查询 ddv.com区域下的所有A记录
Get-WmiObject -Namespace root\MicrosoftDNS -class microsoftdns_atype | ? { $_.ContainerName -eq "ddv.com"} |Select TextRepresentation
#查询单条A记录
#查询 bb.ddv.com 的A记录$ARecord = Get-WmiObject -Namespace root\MicrosoftDNS -class MicrosoftDNS_ResourceRecord -filter "containername='ddv.com' AND OwnerName='bb.ddv.com'"
#查询 bb.ddv.com 的A记录$ARecord = Get-WmiObject -Namespace root\MicrosoftDNS -class microsoftdns_atype | ? { $_.OwnerName -eq "bb.ddv.com"}
#修改A记录
#修改A记录 bb.ddv.com 的IP指向为172.0.0.23$ARecord = Get-WmiObject -Namespace root\MicrosoftDNS -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 root\MicrosoftDNS -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]"ROOT\MicrosoftDNS:MicrosoftDNS_ResourceRecord"$dns.CreateInstanceFromTextRepresentation($dnsServerName, $containerName, "bb.ddv.com IN A 127.0.0.3")
#批量添加A记录$dnsServerName=""$containerName="ddv.com"$dns = [WMIClass]"ROOT\MicrosoftDNS: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 "root\MicrosoftDNS" -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