Na console do DNS Windows 2003, não é possível diferenciar entradas dinâmicas de entradas estáticas. Na console do DNS Windows 2008 a diferenciação é clara.
Para listar as entradas estáticas, basta copiar o código abaixo e salvar como DNS_StaticEntry.vbs, depois para executar utilize o comando abaixo no prompt de comando:
Cscript DNS_StaticEntry.vbs -SRV "Servidor DNS" -ZONE "Zona DNS"
'******************************************************
'* Autor: Maikon Demacq
'* Versão: 1.0
'* Última Modificação: 23/07/2009
'*
'* Este script contempla:
'* Lista as entradas estaticas em uma zona de DNS
'*
'* Sintaxe:
'* Cscript DNS_StaticEntry.vbs Parâmetros
'******************************************************
On Error Resume Next
Main
Sub printHelp
Wscript.echo "DNS_StaticEntry.vbs v1.0"
Wscript.echo "Este script lista as entradas estaticas em uma zona de DNS"
Wscript.echo ""
Wscript.echo "Usage: cscript DNS_StaticEntry.vbs [-SRV ""Server""] [-ZONE ""DNS Zone Name""]"
Wscript.echo "Example: cscript DNS_StaticEntry.vbs -SRV ""Lodon"" -ZONE ""contoso.com"""
End Sub
Sub Main
If WScript.Arguments.Length = 4 Then
Select Case UCase(WScript.Arguments.Item(0))
Case "-SRV"
Select Case UCase(WScript.Arguments.Item(2))
Case "-ZONE"
If (WScript.Arguments.Length = 4) Then
EnumStaticEntry UCase(WScript.Arguments.Item(1)),UCase(WScript.Arguments.Item(3))
Else
printHelp
End If
Case Else
printHelp
End Select
Case Else
printHelp
End Select
Else
printHelp
End If
End Sub
Sub EnumStaticEntry (Byval strServerName, Byval strContainerName)
Set objWMIService = GetObject("winmgmts:\\" & strServerName & "\root\MicrosoftDNS")
strEntry = "AAAA,AFSDB,ATMA,A,CNAME,HINFO,ISDN,KEY,MB,MD,MF,MG,MINFO,MR,MX,NXT,PTR,RP,RP,RT,SIG,SRV,TXT,WINSR,WINS,WKS,X25"
strType = Split(strEntry,",",-1,1)
WScript.Echo "Servidor DNS: " & strServerName & VBCrlf &_
"Zona de DNS : " & strContainerName & VBCrlf &_
"Entradas DNS: " & strEntry & VBCrlf & VBCrlf
For i=LBound(strType) To UBound(strType)
Set colItems = objWMIService.ExecQuery("SELECT * FROM MicrosoftDNS_" & strType(i) & "Type WHERE ContainerName='" & strContainerName & "' AND TimeStamp=0")
For Each objItem In colItems
WScript.Echo objItem.OwnerName & VbTab & strType(i) & VbTab & "Static" & VbTab & objItem.RecordData
Next
Set colItems = Nothing
Next
Set objWMIService = Nothing
End Sub
Nenhum comentário:
Postar um comentário