本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。! s* N, {2 `. s
命令: /Info ; l( M$ }! l: s/ b ^
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
. Z% r# X4 g+ ]4 j) G 用法:1 ^* c( ^2 B3 a8 ?: u
dnscmd ServerName /Info [Property]
' K% N6 c6 o9 o+ j 参数:/ u, D; D2 P8 h |, G. q
ServerName " s0 b" R) }& ]$ S$ |. B2 M3 Y( X
服务器名称在上一篇中已经介绍过,此处省略。
. c/ Y, w B' K2 b J \ [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。7 u! x& r& @, { E$ B# h
下面是该命令使用的一个比较完整的例子:- g6 R5 B! l% F
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
# {: e D5 X" kdnscmd 172.16.12.1 /info 只使用命令而不使用参数
8 R, }% B$ @' F) S* t" g: ~. B输出的信息:
6 y1 o( s0 a. M1 fDNS Server 172.16.12.1 Information:
6 X5 o. G$ @' e$ K$ P7 C8 m6 Q- YC:\>dnscmd 172.16.12.1 /info+ d& H/ s- d* f
Query result: 查询结果
, H" R! k+ @% \9 o! c/ jServer info: 服务器信息, k' g0 N* ~1 w
ptr = 00074718 端口
; H$ E( S1 }* ]: A server name = myserver.microsoft.com 服务器名称% Q$ u' ~ u: |/ ]( i
version = C2000005 版本/ |, T9 s( b3 ]3 E" ^6 u$ T1 B
DS container = c DS“容器”0 P* {. o P; s1 J7 d: D* ?
Configuration: 配置信息 这些信息的含义请参考有关资料: p6 X, v! m! ~' S4 Z% G
dwLogLevel = 00000000
8 u4 l& Z; }! v1 o+ q dwDebugLevel = 00000000
" r3 A: ?* y. }9 b) R& l dwRpcProtocol = FFFFFFFF- _% c0 |) g( X: l
dwNameCheckFlag = 000000022 [, f2 T3 I! I# f
cAddressAnswerLimit = 0: A2 W2 w; s; C% v2 J5 [
dwRecursionRetry = 3
U" J0 D$ X: D% Q- q% } dwRecursionTimeout = 152 i6 `, x" U' I' r
dwDsPollingInterval = 300
1 t5 f$ e1 E1 f: j7 X Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
+ ]$ Y2 b6 U% X1 wfBootMethod = 3 9 o/ ~: R2 o9 ^ A: C
fAdminConfigured = 1
2 g. @- c7 k4 f1 m, `0 SfAllowUpdate = 1
5 C2 r+ d) Y' }3 l) IfDsAvailable = 1
: P& ?* l3 T9 A7 |3 ^. OfAutoReverseZones = 1
% J# c& Y" p/ c2 _- ]fAutoCacheUpdate = 0
/ o3 p; t1 [5 L9 F, Y3 nfSlave = 0 $ j, L9 |3 B- a! ]6 {
fNoRecursion = 0
2 G% M% x+ u- u8 X0 A$ \, ^fRoundRobin = 1 ' ^' Z5 W( |) G' S' c9 H8 ^) v$ \
fLocalNetPriority = 1
8 R- i* P6 R0 {! V \) R6 N0 ?fStrictFileParsing = 0
4 w6 J+ z4 I, d' a& z TfLooseWildcarding = 0
' w. A* F$ F: tfBindSecondaries = 1 5 M3 A/ l, j0 Z1 N$ s% U6 X
fWriteAuthorityNs = 0 & V/ u$ p8 e! y$ k
Aging Configuration: # e) K1 h' C# [
ScavengingInterval = 0 & s5 i4 t: c: r2 V1 c
DefaultAgingState = 0
* D/ `1 Y6 |# W) X* ]DefaultRefreshInterval = 168
$ }8 v8 q. ^3 `* iDefaultNoRefreshInterval = 168 7 }$ a/ b' E/ F8 K+ a" B: t
ServerAddresses:
8 S4 U! [6 v& D3 F1 q Addr Count = 1
8 I2 ?3 ?9 h w2 S; q6 \' h Addr[0] => 172.16.12.1
) u3 L6 l5 _' s# [" X: c ListenAddresses:
& H4 Q6 z( o' r* w' ]' s NULL IP Array." e- F+ f l& r7 t1 ^; G k! w
Forwarders:
6 F" W7 ~. a3 v1 B/ ~ Addr Count = 1- ]9 N" G; v7 `1 y/ S' p
Addr[0] => 172.16.4.3* x/ N) B( W" T
forward timeout = 56 b8 e& ]& E, b( h" B
slave = 0
7 G7 s; j- Q/ Z' I( t6 v% KCommand completed successfully.命令顺利执行完毕
8 M M. s0 r, r, p4 P 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 ' A2 Y% Z# M, Q5 B0 ]
命令:/Config
: I- J0 _- |8 j9 n 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。% n- o7 X: |/ x# [0 o0 V! R
7 l3 T: I$ b h7 d8 v* @
用法:) U& j! a( v% Y+ ?. f. {0 u8 C$ d
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* l+ p' [* k4 z( w) U; o 参数3 P8 v2 m% N, M/ l4 f# S
ServerName :服务器名称,意义同上
, ?7 [" K2 b! D! n; K" f) B ZoneName:$ u& I1 q. e$ i% {0 C& F* t
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
2 q+ E" w8 O5 c+ ?) p8 g. Q Property: 3 G+ n6 |3 x' j& I8 h: h' }
这个参数是属性。这里所说的属性有:6 F q# z O2 f8 b5 J2 H
与服务器有关的属性:例如:
5 b1 e. \* O1 Q3 x! m/EnableRegistryBoot. k3 d0 X: ^9 y0 a- i# h& v/ K' I
/RpcProtocol0 J0 c* ^3 g% e2 B" e
/LogLevel
/ x' s( Y$ w5 t; j6 P% v/EventlogLevel 等等 (限于篇幅未能全部列出)
5 [3 ^6 f- L" }5 w' h$ |与Zone 有关的属性,例如:
2 L- h3 ] ~! t; f /SecureSecondaries
, \$ L1 K. r" d5 ~1 `. r% U /AllowUpdate0 ~* d$ z! A0 s8 Q& S- P
/Aging
; z( @4 `4 G! p7 E8 N# ? /RefreshInterval Value
1 C/ Q1 d: a* W W* k' V /NoRefreshInterval Value: O0 ~1 b4 s+ o7 {% z* P* h
属性值:# K! T, @9 }, F4 O
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
9 R! h5 o5 A" k$ d% c* F从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
& R P3 Z8 g/ z2 S 命令: /Statistics& r0 Q& i" G; b
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
/ N8 K" W" N0 @) O5 G/ @& } 用法:
~! r k5 l5 C$ g& y8 } dnscmd ServerName /Statistics [Filter|/Clear]3 H4 y H0 g! s8 W
参数:
# y& ^8 o7 ?& LServerName
, c: v" s% q3 b# y1 D服务器名称,含义同上。
3 c/ N! }+ E, H' n( f7 O0 B! l4 y可选参数介绍:4 a, I5 {, i: p3 j1 {: Y- t. ^
共有两个参数,每次只能使用其中的一个。( Q9 B- @7 I- f G! Y, A, ~
1.过滤(Filter): ~$ X+ A4 Q+ Q
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。+ o* s: P0 i E. ]9 U4 U* u
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
9 ?# M$ `: h* v, h9 } 00000001 -- Time
8 ]8 L5 M. |3 b4 O 00000002 -- Query
, G4 `# Z) m6 t4 [- E 00000004 -- Query2
1 [- T1 r4 I9 m 00000008 -- Recurse8 ^; ]3 P( W; R* F( t% G& q, f
00000010 -- Master
! H1 B) p/ \9 ~7 v. I) g! G& z 00000020 -- Secondary
3 M0 C% F+ |& i 00000040 -- Wins6 M+ D: G9 U- y
00000100 -- Update
U: L! f3 Q* G6 l+ j" h5 u 00000200 -- SkwanSec
N0 X4 v! T0 p 00000400 -- Ds. g, r1 F: O1 @' b' p+ n
00010000 -- Memory4 z; q# Q/ }1 e( ], ~1 _
00100000 -- PacketMem
) |- a9 J, i. t; }! ^$ J 00040000 -- Dbase. s) a( v+ F' N. d1 ^4 h
00080000 -- Records' V9 V. Q9 X. O( N, q7 S3 z7 u
00200000 -- NbstatMem% q- r" [2 {0 n7 ?* @8 ^
2.清除 /Clear $ [: a. R. C9 o C j% i* m
这个参数用来清除统计信息。0 e5 h1 q6 S% e. [( p
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
\0 o0 R- {( `2 a, O% u2 V* g# @; L1 q4 B, K8 m, p- |/ S6 ~- J
: x% O7 {5 p( m/ U
2 U4 a8 r% X) y& I |