本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。& n6 H6 g" S G/ t/ `. R
命令: /Info
5 z* f4 e$ e. w9 p" k' u5 ~ 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
" k1 B8 n$ f4 A* _: V 用法:) ~' S- V' ^" a* B# P( e
dnscmd ServerName /Info [Property] 1 c. b4 X% M; R. p& d2 ~
参数:' g7 |. j8 C" ~
ServerName
. q& R* O4 a- @8 t 服务器名称在上一篇中已经介绍过,此处省略。
5 \; {* @+ j/ y) I [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
( N& p9 p. H& {/ Q+ Y 下面是该命令使用的一个比较完整的例子:0 b/ T) G) K: d6 z
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:6 T+ M) f* B2 q6 C. x
dnscmd 172.16.12.1 /info 只使用命令而不使用参数7 U* {' [1 ~. v
输出的信息:
* F; U$ X! j# @9 gDNS Server 172.16.12.1 Information:3 s' [0 x' J6 d" r
C:\>dnscmd 172.16.12.1 /info
; X9 y+ d, P- P7 t0 V$ uQuery result: 查询结果
' v: b7 Z4 [) `7 Y7 XServer info: 服务器信息
9 d0 m0 k5 j$ V5 A' o! [ ptr = 00074718 端口& ]/ w; }2 |: K& m3 D2 B
server name = myserver.microsoft.com 服务器名称- Y& ^8 P$ }* L. H8 d
version = C2000005 版本
: e9 T6 h# H" e. g: O6 g7 H- C DS container = c DS“容器”
9 f. K% C, W; j! C5 Y# t, k! S5 V Configuration: 配置信息 这些信息的含义请参考有关资料
, S0 n5 i; I) j( P8 i dwLogLevel = 00000000% R& F# h5 Z5 [) y# @7 \! W- ^
dwDebugLevel = 00000000
! }, [4 H- Q% ^/ E' ~, Y dwRpcProtocol = FFFFFFFF0 a- [3 y* X* }
dwNameCheckFlag = 000000024 b) w9 j$ h; L) S/ e" x
cAddressAnswerLimit = 0, v1 F) V! z# }" \
dwRecursionRetry = 3: F) d0 k: _) A, e# K: k
dwRecursionTimeout = 15! M( p( H) Z7 e K0 m+ ]6 S ~
dwDsPollingInterval = 300
4 b3 V0 h7 F2 @8 J Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
3 e: x/ i6 e o N0 T3 W7 hfBootMethod = 3
6 I( t: g8 A: p3 x! i4 yfAdminConfigured = 1 4 ]9 w# e( s2 S$ K. J
fAllowUpdate = 1 9 M5 O; O' O+ [1 ~; A! D% Y
fDsAvailable = 1
. O2 W9 ^) K" L, Y* IfAutoReverseZones = 1
7 z3 ?2 Z8 |' lfAutoCacheUpdate = 0 + o8 t( k# f" u8 Y W
fSlave = 0 ( \1 ~- q" @% W5 C; T
fNoRecursion = 0 8 K+ \9 J* _, b9 \# ~
fRoundRobin = 1
- g/ H" e t F C& A0 D" sfLocalNetPriority = 1
$ U* A0 _7 J j* x3 `fStrictFileParsing = 0 0 w; h6 E& k5 _
fLooseWildcarding = 0
: U" a, d5 h" A2 h2 }6 m$ CfBindSecondaries = 1 8 Q' q" H; e6 u" _3 q4 T
fWriteAuthorityNs = 0
' B# t. n2 m" @* xAging Configuration:
% `9 Z: k% ^ s: E, b5 O8 v/ xScavengingInterval = 0
* `( x5 ~4 q* g3 o8 K5 L# o3 ODefaultAgingState = 0 v+ }$ B2 _6 O# u4 X
DefaultRefreshInterval = 168
( \; g3 T6 s$ E4 R" YDefaultNoRefreshInterval = 168
' _) {- S* u/ L ServerAddresses:
8 G8 m! V- Y. }+ J: f8 p- c Addr Count = 1- l8 o! L; k, Z3 a7 a8 W
Addr[0] => 172.16.12.1
, a+ H' ?5 h4 F+ `" g& t4 L# s& | ListenAddresses:
; C6 b, w# b6 D) B1 t. Z NULL IP Array.- T6 w" J0 J3 B2 ]: e' Z
Forwarders:, S+ R r L) g9 ^7 n
Addr Count = 1; a; z& _4 q( I6 ^
Addr[0] => 172.16.4.3, S/ s4 c- }$ f7 p+ h. G) T& K
forward timeout = 5, q8 \- m0 i b" S1 m# u
slave = 0/ a' L2 H% J3 h0 [4 Y
Command completed successfully.命令顺利执行完毕
; F8 `3 ^( Q8 c 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 * A7 A% I2 b2 M. }1 t" _+ E
命令:/Config" P5 i% o4 A* \. ~2 W- U
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。5 ?8 Z/ h" f) `" b: M" R8 |! D
2 z; \. J; Q/ O9 e- `+ M, g3 ?4 G
用法:
1 u/ l2 w& t1 q# i& J# M dnscmd ServerName /Config [ZoneName |..AllZones] Property Value0 y! Z* q, z( t- T4 h
参数$ F* t p; \. Q
ServerName :服务器名称,意义同上
% [0 s: D1 H- `6 u ZoneName:; x: Q' S7 O3 `# E
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ; l1 g1 m& d4 I: v7 C4 w
Property: ' P6 U' G( v7 O0 A3 B$ E
这个参数是属性。这里所说的属性有:7 {0 ^9 c$ G' X0 @' v
与服务器有关的属性:例如:
' x) `$ J* a; ^8 U0 a/EnableRegistryBoot# I* _( ^0 K* h; Y! A* s
/RpcProtocol
. |/ G1 Y! C) v' B/LogLevel, D! F$ C {+ s; E
/EventlogLevel 等等 (限于篇幅未能全部列出): F+ u, Z G3 ?2 c6 l5 e( M1 v5 d
与Zone 有关的属性,例如: n' z7 _7 r" c3 {
/SecureSecondaries
: i' _8 i- h; [3 n0 R) L /AllowUpdate
3 J" Y$ Z3 H# f1 n2 Q0 G" C% v /Aging% S- t7 g2 u" \0 _+ H& }9 z+ L8 m
/RefreshInterval Value# w2 E, F. o* P+ S; a+ P7 k, j
/NoRefreshInterval Value
' L, v+ i% O3 Y% r 属性值:: Y. f7 |0 c% N7 {, X7 O2 {! B6 B; C8 O
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
: e. N: S8 W( a: R* `; `0 K/ W从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。, a+ @6 h9 _5 I
命令: /Statistics
: t+ E( L4 W' x# H: c. z) e/ p 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。6 ]+ G0 W" b% o' N
用法:
# Y: X, F. |/ K! J* v, n) p dnscmd ServerName /Statistics [Filter|/Clear]' g! ?6 `4 \( d! L& f9 k
参数:5 F8 A' y( T* D; z8 ^ z" ?" O
ServerName ; d' h; G6 Y! h7 @' ?
服务器名称,含义同上。
, Q, Q0 t: U' u8 f7 A6 ]' n可选参数介绍:
* a n2 o0 K/ n8 g" c2 C0 @共有两个参数,每次只能使用其中的一个。
1 } {2 w3 }0 \2 e7 x1 @ 1.过滤(Filter)
( E: j; ?3 o4 T# H9 ] 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。. ? H: l, y4 n/ T( @' U
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 2 }" K9 ?1 b- A$ c+ t
00000001 -- Time9 l7 p; R. J9 ?: ]
00000002 -- Query
' c4 ]) M5 b: e$ Y 00000004 -- Query2
2 p$ W# G, p( x) _4 p, g9 C3 n1 G 00000008 -- Recurse: I2 |. t0 G, c( Z4 ^5 S6 ?
00000010 -- Master
0 u3 u3 T5 r8 C' U 00000020 -- Secondary
8 O) ^1 I) e/ m 00000040 -- Wins( b! L, _9 R- u% s' A
00000100 -- Update2 d: V5 `" G, s: z" ^# b! ~
00000200 -- SkwanSec
! t2 `/ Y. M3 S7 }8 h- G4 ]& u 00000400 -- Ds
. ]! w9 P0 _' N5 Q/ v/ `* V 00010000 -- Memory* l) a+ H3 n+ Q5 T5 O9 c! g6 E* o/ t
00100000 -- PacketMem6 B7 }; k4 E# ^# c% a# C
00040000 -- Dbase
6 g) `5 d3 w% q 00080000 -- Records1 j3 r7 G6 q/ i; r8 X
00200000 -- NbstatMem
: N. v& u/ s$ E# u 2.清除 /Clear
9 J" Y s1 y+ K7 {" [+ S l 这个参数用来清除统计信息。1 y, `3 X8 F+ Q
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。! m- k6 o7 d# E$ V: b6 R
3 _9 Q4 J, ]0 R0 \. x/ I& Q2 @ 2 B4 H! @# Q, \# m
) `/ |+ O! w k+ F
|