本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
9 i* p9 O' X# r7 h. { 命令: /Info ) J1 U7 N- y8 P1 s4 }, m; z! ]7 L+ C9 Y
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。* G' ?2 E. I2 n, X, d
用法:6 E& G# I3 b+ _) ~; G' [1 d
dnscmd ServerName /Info [Property] + g$ H% ]; C0 u4 G
参数:( Z$ i3 R. }- B
ServerName 1 P0 R1 M2 o( W/ T# L1 S; Y
服务器名称在上一篇中已经介绍过,此处省略。 2 s" Y; }% m& g2 ?& B
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
$ H. @5 c- l3 _1 n8 a N/ d5 F# \ 下面是该命令使用的一个比较完整的例子:5 h0 e e. B* }
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
1 `, n8 J% `8 u- `+ q {dnscmd 172.16.12.1 /info 只使用命令而不使用参数
. {( v2 t( w* n4 K2 w J! |) Q输出的信息:
' g* u+ r" f- ]; TDNS Server 172.16.12.1 Information:
, z. x R* M5 ?) ?C:\>dnscmd 172.16.12.1 /info* C: i' k0 D$ q# t
Query result: 查询结果1 T; y4 a- P4 g
Server info: 服务器信息# L [6 G- R6 E2 [0 v; \8 g
ptr = 00074718 端口
K3 T9 C- u) }& E6 W4 f) k server name = myserver.microsoft.com 服务器名称7 a, d' \- e4 e& {, a+ T8 R
version = C2000005 版本( i C$ [$ q p+ Q. F# o
DS container = c DS“容器”% a- `1 E( X9 l& b, _
Configuration: 配置信息 这些信息的含义请参考有关资料4 V+ m: i X& z! [2 M& L
dwLogLevel = 000000000 u" l4 z3 ]4 U: w0 `6 w c
dwDebugLevel = 00000000/ O1 F- z: {) H5 k! q3 R$ }' F
dwRpcProtocol = FFFFFFFF9 v- k3 U3 W9 R
dwNameCheckFlag = 00000002
, k; a9 L$ o' N9 O6 m. C* S cAddressAnswerLimit = 0
& Y) N: `% o7 ^5 s& O! c/ q dwRecursionRetry = 3
, f2 B* T7 T0 k: m1 D: k5 b dwRecursionTimeout = 15
( h8 E/ B! l4 L2 H) v dwDsPollingInterval = 300- B0 n0 p% W' J" y6 |3 [ F
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料' `) T- Q; e$ L; H8 k. y# J" {# R/ X
fBootMethod = 3 , F2 Z- D. T# [5 @- E
fAdminConfigured = 1 , y4 U1 I y. X. V0 n2 e' ~. b* R; @; [
fAllowUpdate = 1 2 Y2 e5 e# O7 Z5 X: i" r
fDsAvailable = 1
6 O. g- m* x2 Z% QfAutoReverseZones = 1
) z, L- \' W4 A# a3 o) v: EfAutoCacheUpdate = 0
9 i' D# h; ~% h8 Q, g/ S9 ~6 SfSlave = 0
8 h) G# T L7 z0 M7 P& qfNoRecursion = 0 $ R/ N& i3 o% L6 z; }
fRoundRobin = 1 " K6 l3 ~4 A H7 ?0 c
fLocalNetPriority = 1 # I, f2 U1 a$ E7 j2 U8 d
fStrictFileParsing = 0 - ]% Q S/ U4 T2 e1 ~9 B
fLooseWildcarding = 0 * [ p+ i3 }! S0 y8 Z& ?$ C
fBindSecondaries = 1
2 A, L7 e2 @; i( i9 _fWriteAuthorityNs = 0
# N- A$ V0 u3 |! ?% }" mAging Configuration: 2 q* ~; G: D- j F
ScavengingInterval = 0
0 |8 d+ Y0 j6 o" F7 [/ [DefaultAgingState = 0 # D5 y0 k8 N+ v+ y2 A5 y
DefaultRefreshInterval = 168 ' D1 b: t' {4 u' D* n
DefaultNoRefreshInterval = 168 2 I# Q9 [# v" ]
ServerAddresses: , b" x' j5 m. {, N8 ?) E$ ]! G
Addr Count = 1
3 v& m- e7 z8 K" M Addr[0] => 172.16.12.1( V8 S' ?+ E4 g; w* c2 g
ListenAddresses:
3 g! e" k- v8 c) h' {; Q NULL IP Array.
- T5 u6 b) E2 T1 ?2 y Forwarders:' i4 z6 L& m- }+ K; ?. \
Addr Count = 1
8 L' L* L( G& P! V Addr[0] => 172.16.4.3
# |/ v; a4 I3 E8 M1 h2 n forward timeout = 50 S8 |. T7 G" K, u* n% E
slave = 0* T, f( W6 P0 g4 z$ f( E
Command completed successfully.命令顺利执行完毕
" E& g1 n/ o* r% S0 _3 ^ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 2 M4 X1 n: n7 |/ I1 J1 a( N3 w$ ^8 W
命令:/Config) N, B6 [3 ~/ M6 `
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。' ^( b$ g* y3 D9 y5 F: L
7 O/ I5 c. O% Q! O2 L 用法:+ W) G- _+ l& e I$ ~7 Z
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value$ c; l: E. O; Q* S5 e4 ? U
参数
5 ]. ~: J* \; v$ v t4 H% m+ Y ServerName :服务器名称,意义同上
B% s& D, ^' C; I5 t9 \* w ZoneName:- O# M/ s" o4 x3 M6 w! R% I
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
N" D, f& b+ ^/ Z. n1 e4 t, i1 f Property:
5 Y) e, \- E5 G( h P 这个参数是属性。这里所说的属性有:
" [; y: a* r2 Z$ i; m/ W 与服务器有关的属性:例如:
+ M$ P0 f/ D& t( Q+ e, Q2 x/EnableRegistryBoot
% ?/ P. U; @. ?9 v6 l9 N- |/RpcProtocol
# e4 ~& m8 T* ?1 ]$ R) ]( i/LogLevel" p: w: u$ K$ k; X; h
/EventlogLevel 等等 (限于篇幅未能全部列出)2 E6 D' Z$ }) _9 t' M& x
与Zone 有关的属性,例如:
3 O' e- k9 H6 L. g! A: n/ f* C /SecureSecondaries
" Q# K6 q/ c( S3 U1 z( C7 e /AllowUpdate
: ]" x0 x- h, {( ~+ q( F; T# @ /Aging; o, r8 R6 Y+ }( d X
/RefreshInterval Value
; t' @) v; ?% ]! I /NoRefreshInterval Value
0 j0 z( Z8 T& q# K4 y0 v 属性值:
! x; Y8 ], f( V/ } 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。2 \4 L3 }6 u8 f# \3 P- H' K
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。9 R# j, b6 k e6 L5 l$ u7 f
命令: /Statistics. z/ e" v: S$ M. P" [7 ?, G5 _) I
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。 |6 b! t$ u1 z; c
用法:7 Z1 t2 _& J# W- M* F/ T y# u* V
dnscmd ServerName /Statistics [Filter|/Clear]
, K7 \5 w2 z6 s 参数:
7 j% s: l2 M* k4 B1 ` eServerName . x2 h6 s, R5 o- ?' w. w$ M
服务器名称,含义同上。6 Y" v6 C S8 j* T t( M, P
可选参数介绍:
, n0 f! F; E* s- s$ A共有两个参数,每次只能使用其中的一个。
. O" i9 k8 X. b: `1 P 1.过滤(Filter)
# |' V5 H# T; R$ u% k& E+ ^ 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
+ ?% @8 U8 ?% Z0 t- O可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: + r F& ?. Y b" A. z& I* q
00000001 -- Time
/ y- q! i4 v8 t1 X 00000002 -- Query
8 b% f8 c' y2 D, @ 00000004 -- Query2+ U8 `5 }7 Y2 P* y1 t' d, [, X
00000008 -- Recurse- e9 S1 ~% S. q! d9 e
00000010 -- Master
5 |; q7 u1 Y5 i* w- |4 c! P 00000020 -- Secondary( i: x% g2 x: S
00000040 -- Wins
$ @4 m% m5 F5 F5 U' }* e8 Q) [- I 00000100 -- Update8 N: t5 }5 q" h- ?8 L. V! W
00000200 -- SkwanSec" X! V% `; m2 y- @% C) [% d b
00000400 -- Ds
: p* D( `9 N( x 00010000 -- Memory1 ?3 R+ |( t$ p/ U. x3 G7 w2 v
00100000 -- PacketMem0 q. O) g& ]! V
00040000 -- Dbase7 r( c. k- E4 G0 e9 I
00080000 -- Records2 d8 c Q! J) P: @
00200000 -- NbstatMem
2 U$ s9 z7 W7 z B2 E. N" J6 r( l 2.清除 /Clear 2 f' `6 n4 C, n& M! G4 v+ e
这个参数用来清除统计信息。6 Q3 d4 C0 A) P6 o
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。, \5 H* a! i, p$ I- @* e1 Y' A
1 ?, b3 z" E9 f( r+ F C! N0 ` 0 |2 L, |0 r& H/ T+ F6 }- n
. a6 R4 ]( H* h% a w. @# g
|