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 ?


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 ?

  • Are you looking just for a total count or do you want to enumerate all records? Also, you looking for just a zone or for everything on the entire server? – squillman Jan 27 '10 at 18:45
  • I want the total count for a specific zone – Xavier C Feb 10 '10 at 13:41

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=.

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%
del /q DNSRecords.txt

Hope this helps,


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.