How to get the total records in the DNS SERVER (windows Server 2003)

active-directorydomain-name-systemscriptingwindows-server-2003

How can i get the total records in my DNS Server (Windows Server 2003 – Active Directory Environment)

Is it possible to get this information via Powershell/wmi ?

Update:

So far i used this with Powershell:

& "d:\AdminTools\SupportTools\Windows2003\dnscmd.exe" SERVERDNS /enumrecords domain.local . > output.txt
gc output.txt | measure-object | select count

Any suggestions ?

Best Answer

How about a simple batch file...

@Echo Off
rem Enter the location of the Windows Support Tools below
set @SupportToolsLoc=c:\Program Files\Support Tools

rem Enter the domain name you want to count below
set @DomainName=foo.com

rem Enter DNS Server Name below, or a period for the local server
Set @DNSServer=.

setlocal ENABLEDELAYEDEXPANSION
set /a @RecordCount=0
"%@SupportToolsLoc%\dnscmd" %@DNSServer% /enumrecords %@DomainName% . >DNSRecords.txt
for /f "skip=1 tokens=*" %%f in ('type DNSRecords.txt') do set /a @RecordCount=!@RecordCount! + 1
set /a @RecordCount=!@RecordCount! - 1
If "%@DNSServer%"=="." echo There are !@RecordCount! records in the domain %@DomainName% on the local server
If not "%@DNSServer%"=="." echo There are !@RecordCount! records in the domain %@DomainName% on the DNS Server %@DNSServer%
pause
del /q DNSRecords.txt
endlocal

Hope this helps,

Glenn