如何获取我的 DNS 服务器中的总记录数(Windows Server 2003)

如何获取我的 DNS 服务器中的总记录数(Windows Server 2003)

如何获取 DNS 服务器中的总记录数(Windows Server 2003 - Active Directory 环境)

是否可以通过 Powershell/wmi 获取此信息?

更新:

到目前为止,我在 Powershell 中使用了这个:

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

有什么建议 ?

答案1

一个简单的批处理文件怎么样......

@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

希望这可以帮助,

格伦

相关内容