本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。. r$ v$ F, u$ U4 K3 r9 h& X v: h3 W
命令: /Info ) w1 h& N9 v5 z
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
: u! R8 M9 j" @7 L3 Q0 i 用法:: Y& n9 E7 Q6 H8 O0 D
dnscmd ServerName /Info [Property]
* {. D4 K) ~1 g" x/ B 参数:% j. S5 H! L% o- S6 }
ServerName
$ I. ^7 w" e: c 服务器名称在上一篇中已经介绍过,此处省略。 6 D. Y: L! B0 d r
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。2 h% ~" ^8 K& D* r! ~, n
下面是该命令使用的一个比较完整的例子:' O6 W' a% D$ d( ]! h: E% y8 c9 Y
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:* b0 N% }3 c2 C x5 U
dnscmd 172.16.12.1 /info 只使用命令而不使用参数& g; y3 `- e' p6 ^( j0 _
输出的信息:: Q5 ^) e- j& |4 i
DNS Server 172.16.12.1 Information:
) [9 C8 |! n( k) Y/ dC:\>dnscmd 172.16.12.1 /info
" L( [+ S. U5 T* m! }/ hQuery result: 查询结果
$ i; s1 j- n3 f# j; U9 KServer info: 服务器信息
" m0 L9 E' d3 |; @" \; w ptr = 00074718 端口8 W8 ?1 K+ F- L( x% N4 ^* U
server name = myserver.microsoft.com 服务器名称
# L) Z! {( Q) ~: }% a7 \ version = C2000005 版本1 m' L: ?3 v5 Q- y9 a' R
DS container = c DS“容器”
$ _% y" R+ X# Q, [9 h- g/ r0 y @ Configuration: 配置信息 这些信息的含义请参考有关资料
5 y& d; _2 ^1 |" Y. I! W* Z dwLogLevel = 000000000 P( K& l4 P+ F: ?3 n
dwDebugLevel = 00000000, L1 p6 Z3 s6 ~
dwRpcProtocol = FFFFFFFF$ t6 q" E$ G( s( O# A4 h6 \$ x a
dwNameCheckFlag = 00000002. E/ M. _3 U0 \
cAddressAnswerLimit = 0! t/ Z! f' m# Y4 U) R$ H( ^; K3 T
dwRecursionRetry = 33 o! T, ]% |" K# G; a5 y' _
dwRecursionTimeout = 15) [) Z: P; H u
dwDsPollingInterval = 300! c% E$ c! w$ t% Q0 F
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
, X1 A/ S+ K: O4 R, ?( ?fBootMethod = 3
K; w3 O- ]- W) ufAdminConfigured = 1
) u* h$ n" Q+ KfAllowUpdate = 1
9 f6 H; n! n$ d* l+ d% _* RfDsAvailable = 1 7 ]7 W4 Q, f) G0 C9 z: p$ ^' J( G9 N
fAutoReverseZones = 1
% ]& ]% c' d8 N. |8 KfAutoCacheUpdate = 0
3 b" ^. y. C: J- }1 s; QfSlave = 0
, O+ y6 t% B) g( xfNoRecursion = 0
) {/ y. u/ T: efRoundRobin = 1 , p, {- I) Q; w9 k( j; K$ _2 M- e
fLocalNetPriority = 1
' y$ v8 G9 G% @5 Z; pfStrictFileParsing = 0 Y2 u$ i+ Q4 T" A
fLooseWildcarding = 0
1 Q( l, g! ?9 Z, o7 kfBindSecondaries = 1
8 k7 r+ g7 U1 \& a6 s! r" V8 RfWriteAuthorityNs = 0 , ]% ~: D* y. Y/ N6 ^* y
Aging Configuration:
$ Z9 |4 v/ {6 z4 S- @ScavengingInterval = 0
) _9 {- I5 U5 \; L$ _ xDefaultAgingState = 0
* F3 t9 j4 s) b+ b/ l( {* o8 ^DefaultRefreshInterval = 168 ; X$ o0 p7 b$ J, \- [1 v3 R
DefaultNoRefreshInterval = 168 ) w' ^% d( B4 c: V1 E6 g
ServerAddresses: % E3 G7 ]4 e1 N& q
Addr Count = 1/ ^4 y# J+ U6 h A4 k _. @
Addr[0] => 172.16.12.17 W* C2 F+ s' F
ListenAddresses:8 i$ {0 g" \6 k) V/ e6 ~5 o
NULL IP Array.
5 ~' N4 v# F! o2 X# B$ P Forwarders:6 z x7 X2 X- T( ?7 d4 P
Addr Count = 1 v1 Z" C, K/ H( t# R( X! w$ E
Addr[0] => 172.16.4.3( |3 p" a8 u1 t
forward timeout = 5
4 c2 v. F4 o, o) Q+ G& t, [" | slave = 0
: j4 X; x0 r. PCommand completed successfully.命令顺利执行完毕
E7 q/ M* R9 E' [2 [& x" S3 D2 p0 M- @ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
' o' W- I$ I @8 n/ R1 o 命令:/Config
u1 Q$ N( f4 U0 k0 @8 F 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
3 ?$ u$ ^8 U9 D4 O2 K, ^5 M" \5 M6 S
?6 E6 t$ [. }" j+ \$ T, l 用法:
E P) i8 O& t% v5 C dnscmd ServerName /Config [ZoneName |..AllZones] Property Value! b# h2 h% ~$ S7 f: `9 i
参数
4 [. X, F# S/ }" q9 H7 A ServerName :服务器名称,意义同上
* G x% P, {5 R+ h5 }9 K ZoneName:
: S1 k+ q+ g1 {% s6 _. x7 x 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ; q$ `% N" t( x4 ?1 z1 z1 a
Property: % m" S6 s" n) x* z& O6 P# u2 W( n
这个参数是属性。这里所说的属性有:
c/ R+ P3 E1 {' w 与服务器有关的属性:例如:& e1 N2 B& P) G( l# n
/EnableRegistryBoot! E) O8 h3 @7 A$ o% u# r
/RpcProtocol% N$ r. _& D/ H$ y
/LogLevel7 r* n( I% k1 c ^3 ^) v7 h/ c
/EventlogLevel 等等 (限于篇幅未能全部列出): P$ E* @! w; k( p
与Zone 有关的属性,例如:
. G) b" S8 k" b+ a% z5 H) y /SecureSecondaries$ j1 D# @% v5 `# Z @
/AllowUpdate
- n% K9 I x; @: x6 H- N /Aging
5 T! ?: C7 J4 F. B: c4 p /RefreshInterval Value
2 h$ N! I7 { n) A1 z /NoRefreshInterval Value+ o3 ~& M. u: H# w( k" R. a
属性值:
; ]% H s) y/ R3 _2 A 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。& l$ j* M, d' X7 L9 m* |+ G
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。* p2 }. c1 ?/ m4 m) [/ S/ O/ B
命令: /Statistics$ q3 H* X) v$ R$ U( `) x3 g
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。% B# j, S: p8 a( C" ^3 i! p% u4 V
用法:0 U1 \6 c3 X) s: A4 l2 n
dnscmd ServerName /Statistics [Filter|/Clear]
$ X1 z4 \0 y# n2 U& M6 ^0 q, \ 参数:2 l N; }. H: f+ Z
ServerName 1 P+ W! R6 |: Q' c) z: x1 P
服务器名称,含义同上。
7 a$ U5 A' e8 I/ z0 t可选参数介绍:6 f% R6 m0 k; V- \$ K. R" R
共有两个参数,每次只能使用其中的一个。
5 a$ i+ N( ~7 t( v! }3 ^2 P 1.过滤(Filter)1 v: S! `2 T6 H' d
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。7 D5 H( M) X1 R6 W) S
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
% x7 w7 y8 L) Z' s2 t 00000001 -- Time
! z- n, [7 h5 a& M. @ E4 w 00000002 -- Query) `, A/ [( n5 t% [4 S& I
00000004 -- Query2; }/ N) m' X. d$ Z4 p$ B( O
00000008 -- Recurse
5 W/ E, l, l1 P# \. l6 O4 j+ N$ A 00000010 -- Master$ M) H" C8 I* q0 Q3 T
00000020 -- Secondary
- _' \" p+ z- ]/ d( N- U* o 00000040 -- Wins
7 U2 j& \+ j5 Q: H 00000100 -- Update' _7 V+ H7 l" I9 ^9 }
00000200 -- SkwanSec) w" Z9 H( U5 }, x3 g0 x1 o
00000400 -- Ds# @# y0 l/ h0 l. o
00010000 -- Memory* d7 H) m' ~' n9 H* _
00100000 -- PacketMem( B9 w1 M+ A @& B& m, f
00040000 -- Dbase
4 X2 D5 E& U. U/ z! V: K# u 00080000 -- Records
: O% ?' m/ i. Y# r$ j# Z8 Y 00200000 -- NbstatMem
2 @* T' x" |. r. Y4 ?, O 2.清除 /Clear
) Q6 b; K) L2 J8 f' v" k0 S; h 这个参数用来清除统计信息。) G/ n+ G+ P' q5 x" q
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
$ a$ h+ Z2 ~, Y- C* E" w7 E$ ^1 |8 R9 d+ n( j
; ~; V8 R* w2 C- B" ?
- W3 C9 P+ ]6 u" s% a6 q6 } |