Recipe 13.8 Querying Resource Records
13.8.1 Problem
You want to query resource
records.
13.8.2 Solution
13.8.2.1 Using a graphical user interface
The DNS Management snap-in does not provide an interface for
searching resource records.
13.8.2.2 Using a command-line interface
In the following command, replace
<RecordType> with the type of
resource record you want to find (e.g., A, CNAME, SRV) and
<RecordName> with the name or IP
address of the record to match:
> nslookup -type=<RecordType> <RecordName>
13.8.2.3 Using VBScript
' This code prints the resource records that match
' the specified name
' ------ SCRIPT CONFIGURATION ------
strQuery = "<RecordName>"
' ------ END CONFIGURATION ---------
set objDNS = GetObject("winMgmts:root\MicrosoftDNS")
set objDNSServer = objDNS.Get("MicrosoftDNS_Server.Name="".""")
set objRRs = objDNS.ExecQuery(" select * " & _
" from MicrosoftDNS_ResourceRecord" & _
" where OwnerName = """ & strQuery & """" & _
" Or DomainName = """ & strQuery & """" & _
" Or RecordData = """ & strQuery & """")
if objRRs.Count < 1 then
WScript.Echo "No matches found for " & strHostName & " of " _
& strRecordType & " type"
else
for each objRR in objRRs
WScript.Echo objRR.TextRepresentation
next
end if
13.8.3 Discussion
13.8.3.1 Using a command-line interface
You can leave off the -type switch and the command
will find any A, PTR, and CNAME records that match
<RecordName>. You can also run
nslookup from interactive mode, which can be
entered by typing nslookup at a command prompt
with no additional parameters.
13.8.3.2 Using VBScript
In the VBScript solution a WQL query was used to find all matching
resource records. This is a good example of how powerful the DNS WMI
Provider can be. The query attempts to find any object of the
MicrosoftDNS_ResourceRecord class that has an
OwnerName, DomainName, or
RecordData field equal to the
<RecordName>. This is not the most
efficient query if the server supports multiple large zones, so you
may want restrict it to search for specific types of records by adding
criteria to match RecordType =
<Type>.
13.8.4 See Also
MSDN: MicrosoftDNS_ResourceRecord
|