本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。; ~" i, Z0 Y# [& p) B) s
命令: /Info ) b. u; Y" l& x- \# r
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
: q/ o( p( _8 a% Q 用法:
* j5 P5 t) Z5 L' ^6 T' x, ` dnscmd ServerName /Info [Property]
0 _# y0 z, \, Y( W9 `' S! K/ } 参数:
9 V8 r( Z$ n2 \ ServerName
2 f. m- [1 ^# u) J+ _ 服务器名称在上一篇中已经介绍过,此处省略。
: Q O$ @- d5 z& G [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
: W8 x6 Y0 t: ?) f, u 下面是该命令使用的一个比较完整的例子:3 y H( ~; }. X) T5 H
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
5 [7 Q7 x6 E, N; d# J) Wdnscmd 172.16.12.1 /info 只使用命令而不使用参数
- x% p; ?" q) ]5 f9 w/ ~; Y输出的信息:
- G4 D+ b/ ]# V/ yDNS Server 172.16.12.1 Information:6 @" j7 ]0 H- j+ w' h1 u
C:\>dnscmd 172.16.12.1 /info5 L% {. q+ O9 A3 i5 `, s
Query result: 查询结果
: M L% q% K* J5 x; KServer info: 服务器信息. z z$ \; W! j5 E/ V
ptr = 00074718 端口# a! e- ]: e- l2 Q
server name = myserver.microsoft.com 服务器名称4 Q7 `! \0 s8 U5 N T7 C
version = C2000005 版本 O& v9 \% {2 s4 V6 f2 A
DS container = c DS“容器”% {2 R2 y+ e9 b0 v/ F5 z; y
Configuration: 配置信息 这些信息的含义请参考有关资料" o4 T0 v, S. T0 J
dwLogLevel = 00000000
2 R0 W2 g- O7 b9 L: G dwDebugLevel = 000000004 G# t+ G/ Y8 l# k) o3 j
dwRpcProtocol = FFFFFFFF
) L; h6 @- j% [ dwNameCheckFlag = 000000029 P, K, R4 v% D+ ?, Z& Z
cAddressAnswerLimit = 0; o( i, V: M" t. U. c
dwRecursionRetry = 3 c( {+ G. S4 N4 V+ N
dwRecursionTimeout = 15; g/ D" R" z% e6 f0 {( ~
dwDsPollingInterval = 3001 U$ h, } f0 B: v3 C
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料* N8 x! t) {) W
fBootMethod = 3 ' q% _7 a3 `, ]( X
fAdminConfigured = 1
5 m$ A7 _/ s5 H) Q) A( ?' bfAllowUpdate = 1
/ O# a3 n+ O; OfDsAvailable = 1 1 n/ a. T8 |- j |. D2 Q
fAutoReverseZones = 1
8 f' l2 J' A/ X: ofAutoCacheUpdate = 0
( Q/ B, O: A: R4 T1 @5 `( RfSlave = 0 % e& S* \2 h# U" _) b
fNoRecursion = 0
, G5 {( L7 `# [6 X% YfRoundRobin = 1 5 U. N1 o5 j% ^" `5 I1 @
fLocalNetPriority = 1
. y; q2 a7 @5 xfStrictFileParsing = 0
' A* C+ X! W- B, V' _fLooseWildcarding = 0
& F2 Q* P7 x! q4 |fBindSecondaries = 1 + r$ f! t S0 U, q! g# ^$ ?
fWriteAuthorityNs = 0
& Q: \* W$ C4 t+ L2 W) Y% H: S9 k; zAging Configuration:
( s3 y0 v8 p) U/ e1 D3 sScavengingInterval = 0 ! K( ]9 {5 C) j& s4 y6 |
DefaultAgingState = 0 & T0 d' ]/ S3 C
DefaultRefreshInterval = 168
; o9 C* X1 ^: z7 M8 x9 x# a4 E* d, _DefaultNoRefreshInterval = 168
2 {. y- `2 b, N1 S( H ServerAddresses: ' Z* g6 {* r9 Y; J
Addr Count = 1
$ a& Z9 x; v8 i$ t' T Addr[0] => 172.16.12.1
6 z8 _/ d6 a7 M8 J ListenAddresses:, G& ]$ ^4 ~* V5 Z* U( o+ T; @
NULL IP Array.
+ ]$ X( H8 d) F Forwarders:
/ J, B1 ~2 p$ c- R5 d6 l. T8 _! |7 [ Addr Count = 1
( n7 V; l% c2 q* C$ y& x1 q Addr[0] => 172.16.4.38 S% q/ N* X5 K0 |% N$ g
forward timeout = 5
$ ]; o8 i- ?. k# e slave = 0
( o8 Y& D' V4 [# U7 ^Command completed successfully.命令顺利执行完毕
" m! F9 s5 y, X 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
; \5 V/ O' y4 p 命令:/Config
4 t+ J0 o" ^9 a) O! K" X 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。* p h. p/ b; l. ~! t# `
6 s3 r# A& \3 B 用法:
$ o7 R% I% ?5 v! q1 ~& @8 B, f$ [2 z dnscmd ServerName /Config [ZoneName |..AllZones] Property Value/ @# m! x7 |6 z$ x- Z1 Y6 w
参数: M8 r. o+ q3 I5 h- U. x7 S. A
ServerName :服务器名称,意义同上
0 O8 B& ]" p' i! H ZoneName:8 f# E* U+ `1 A* E" p) |
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ) `/ a/ V, r5 w( N N- x
Property:
$ t- a7 P/ l I$ G$ J$ M! P 这个参数是属性。这里所说的属性有:9 }; j: Z6 c, Z* `# R, {* ^% ?
与服务器有关的属性:例如:, s' d, @. A: K6 s8 w! i
/EnableRegistryBoot+ V: u" x s( M9 `
/RpcProtocol
6 x8 ]2 D! x7 Q2 z( p C9 j/ s/LogLevel
9 g8 |. @! z. U1 }/EventlogLevel 等等 (限于篇幅未能全部列出)$ c, s- H; B' S$ q
与Zone 有关的属性,例如:
- C2 M/ x5 _; M; K /SecureSecondaries
t7 H! L& H- J8 R7 K /AllowUpdate
, F" Q6 ~- \/ U$ ~6 v/ p% P: x9 a /Aging
6 A: o0 g/ z0 X /RefreshInterval Value5 Q# |3 B3 _! K! S4 R
/NoRefreshInterval Value0 E& D1 f- g" _; p# y1 }
属性值:: X! C9 }- `0 A8 ~) j7 g% _0 N
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。0 `9 [ a3 C4 P) c/ D, S/ A) x
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。1 N2 U( s: ^/ ~6 x% X
命令: /Statistics }; l- i% W5 g- m+ ]8 L; b M
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
* j! E) {: W N9 h3 n 用法:$ V" t+ D9 X' R# j1 T* @) }' y
dnscmd ServerName /Statistics [Filter|/Clear]) U, E6 @/ c3 ~
参数:
( Q# o0 T0 m7 MServerName
' E O2 K2 i. @% ?+ z: x服务器名称,含义同上。, A: e; c+ W* R+ Z! }
可选参数介绍:
& P( r4 H2 W+ s$ {. C共有两个参数,每次只能使用其中的一个。" H: K9 Q+ o' L6 H- T& ^" V6 B
1.过滤(Filter)- \3 X! o* {8 e9 w6 C4 G$ q) c* o. K
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
; g! b( q; e2 n0 Y' G1 m. m可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ' ~0 U* r! z* ~& _4 Q1 A
00000001 -- Time
8 z7 q/ O" K9 e3 p. I: X% x* K8 X0 }4 X 00000002 -- Query
& i7 X( P3 Y- @7 _. y1 } 00000004 -- Query2
) m% }1 t% R* K0 N 00000008 -- Recurse
" `3 j; ? u; E: m8 P% M& @ 00000010 -- Master2 v; Q4 _- C) }% }0 M1 t( z/ @
00000020 -- Secondary
- ]8 X6 }) a0 X! y( j3 O$ z: S 00000040 -- Wins
, F& Q, T+ K! }: Z5 r) k 00000100 -- Update
0 @1 J ?7 C( a( C 00000200 -- SkwanSec
; a! _: S7 N" b. u$ V& N" z. I 00000400 -- Ds) \: N7 }' P! w4 m( J
00010000 -- Memory
/ _; f* _$ w7 B& ]# x0 I 00100000 -- PacketMem
+ M) Q8 ]% j' ` 00040000 -- Dbase
* p) j, @. H- n9 B 00080000 -- Records0 H$ d/ a j, }4 P) f( @1 N! `
00200000 -- NbstatMem! B8 U$ g: [3 Q& q0 n2 @& q
2.清除 /Clear + E- C: e1 l9 l! Z9 Y
这个参数用来清除统计信息。) l* G6 _7 O( R1 ]6 p, N U
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。$ E. j, I# E. \2 p
2 G" I; X1 s- a7 \: Y
+ ~' k+ ^% n9 A/ A3 g5 o' t
- y# q; t3 D0 w: D/ e |