本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
. ^5 ?) ?: t& ?6 ?( x3 S 命令: /Info % q o6 v. V% j) g7 g& ^
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
/ U/ U2 C! f% H" @$ }. a 用法:
0 l8 b) [9 }- B: b dnscmd ServerName /Info [Property]
& T4 |1 M0 ?& B" p7 [ 参数:# N& L: @$ h: K0 f n
ServerName
( u8 D0 h3 r" p" B* d/ t 服务器名称在上一篇中已经介绍过,此处省略。
. w9 m0 T: w1 Z+ d% }: ?- L [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。; r6 R0 o7 {6 F0 u" L9 g8 i1 S
下面是该命令使用的一个比较完整的例子:
9 c Z: X4 k9 \+ U* w3 w6 P. a 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
4 c+ U7 Y* P* Y; M" T; Wdnscmd 172.16.12.1 /info 只使用命令而不使用参数
) l2 F/ ]( v/ s: F输出的信息:
5 E! [( e8 }# L5 ]. Y) W& r. c" dDNS Server 172.16.12.1 Information:
& ]! R7 }1 ?, G( w4 ^% {7 iC:\>dnscmd 172.16.12.1 /info
' D0 q4 E( L, @Query result: 查询结果, Y( E) v& g5 p- d. ~
Server info: 服务器信息
& k- }" U9 n6 \6 x9 y/ Y9 ?3 T) O2 ^ ptr = 00074718 端口
9 f& h! V9 N( E' ]: Z# F6 | server name = myserver.microsoft.com 服务器名称; q: }/ m' L2 V
version = C2000005 版本
1 ^3 P* M- o" C1 i1 T& } DS container = c DS“容器”0 M' L. b6 Y, y) s% e8 D; o! L
Configuration: 配置信息 这些信息的含义请参考有关资料
4 Y5 X, }/ ?9 y0 _$ S dwLogLevel = 000000006 y0 |( F$ ~# K0 U! t: I& M* ]
dwDebugLevel = 00000000
, Z$ Z# ? Q7 [ dwRpcProtocol = FFFFFFFF7 @9 Z- l9 R. R6 P0 Z2 L( J
dwNameCheckFlag = 000000023 l! G6 ]0 _' S8 t
cAddressAnswerLimit = 0
4 y2 d5 o6 z. e4 a dwRecursionRetry = 3# i+ M- I* l$ ^
dwRecursionTimeout = 15. P7 X' u I& e% u/ w6 _
dwDsPollingInterval = 300
6 g* |5 `8 O0 D1 ~& [ Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
% M7 B5 s% k) E& i: n9 EfBootMethod = 3 8 o8 S3 C. q! Y: o( `
fAdminConfigured = 1
4 O K2 A' x% W3 JfAllowUpdate = 1 $ n0 E) J) e# }1 w- z( N
fDsAvailable = 1
/ l5 F% j# C6 B7 q& ]fAutoReverseZones = 1 . g! O( ^: t1 r5 e) J, k
fAutoCacheUpdate = 0
7 K" o5 D' _) ifSlave = 0 9 A* Y4 \4 R3 f: q7 |
fNoRecursion = 0 % @; O! w S7 k0 S. c' r2 }" u
fRoundRobin = 1 # X# i3 {* u5 i$ F0 o4 q$ D
fLocalNetPriority = 1
; z& P- u0 C, nfStrictFileParsing = 0 8 d: C& [- _' X1 e4 N) k) a
fLooseWildcarding = 0 " j) w; K! z- _3 R0 u
fBindSecondaries = 1 ; X9 _$ }/ q" m
fWriteAuthorityNs = 0 9 E) u# B( m% S
Aging Configuration: / l1 } B3 N: g; n! }2 }: `
ScavengingInterval = 0
9 V$ y. M6 @( ]7 L, e! R& o1 cDefaultAgingState = 0
% A) N2 d8 P" I5 d! r+ }DefaultRefreshInterval = 168
' T( G/ e! t; [' h& |/ M3 |4 q' g5 ?DefaultNoRefreshInterval = 168
: G1 I2 }9 Z9 {6 F9 |- M ServerAddresses: 2 K2 i8 F' H0 T, L
Addr Count = 16 A& B0 K( A1 P# \# K: m3 j% n
Addr[0] => 172.16.12.1
, D/ a5 j9 _7 g) x2 V# } _ ListenAddresses:
6 F X% s! R/ t, S% c2 H NULL IP Array.2 e( V) `' \" J. Z, C
Forwarders:* s7 H6 r) G/ E9 ?* ~6 S+ @3 R
Addr Count = 1# ]4 I* Y6 o" V* g* s7 w3 R& i3 o
Addr[0] => 172.16.4.3
. @2 @& q) f4 ], { forward timeout = 57 d0 L) g3 [ J3 z; Z
slave = 02 {: b5 m+ V* Q- m+ X, S9 u# ^* u
Command completed successfully.命令顺利执行完毕
( e% I3 v2 N& _ O0 ^# I 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
|/ `. ?2 g2 {& \ 命令:/Config
( ?, k% A. }' b+ u/ C/ x9 k& d2 }- J 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。& I* N) {3 K0 O) l( i
4 H% B, ?% e, {- t& ?8 ~
用法:# V* C3 a6 `8 k7 g3 W5 t/ Z
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value7 l j7 h' X! f! e |
参数
. }5 s L% Y. N3 }# O0 R ServerName :服务器名称,意义同上
* h8 V6 t/ x; M. e6 G) B7 l: M% n ZoneName:* ~6 u* P; n0 F1 v. n
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
3 v! Y- [4 ^, p Property: " u4 X4 O0 X5 ~: z
这个参数是属性。这里所说的属性有:
2 _$ N$ m! b* g 与服务器有关的属性:例如:4 x4 o, r3 u/ ]1 c0 [5 w2 r
/EnableRegistryBoot
- H/ `4 `. `/ s( y Q' H+ }0 A/RpcProtocol4 O1 e9 M8 S' }( O1 t4 v
/LogLevel# C8 F4 ?; K5 R, K$ _
/EventlogLevel 等等 (限于篇幅未能全部列出)
3 m3 Z3 z/ I; f- m( o0 ]/ O) T. `与Zone 有关的属性,例如:; g6 ^ }- @, ^8 q9 x
/SecureSecondaries
+ ]7 t# g/ h8 Y /AllowUpdate4 Y3 {/ g9 \/ y$ L2 V
/Aging* u7 t+ m3 O+ M/ U( d X8 X
/RefreshInterval Value
8 b, {0 |" D# V( Q* L" y" s" h /NoRefreshInterval Value
' p4 T4 V6 J% R+ K- [8 m/ { 属性值:; y% Y8 A0 Z3 [& ~3 m
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。4 q" y, v% j9 l! g, N- G% X/ J6 j1 \9 N
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。6 L0 M; R, K0 s5 R% F+ A6 l
命令: /Statistics
4 p; b! ~% A! W0 p/ D 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
/ O9 O) B! s% } 用法:$ a7 }4 H, u+ I; i
dnscmd ServerName /Statistics [Filter|/Clear]
1 k& G# [( i# T/ E1 \+ D$ l 参数:
+ S) e4 Y- u2 M8 E2 x/ a, lServerName
( D" p$ Z, R' ^: o服务器名称,含义同上。$ c; E' ^. z8 j8 w+ V6 X% p; c
可选参数介绍:3 u: {( y% ? d C7 d) B
共有两个参数,每次只能使用其中的一个。3 ]" [8 R1 Z }' _: U: h+ l9 M& r
1.过滤(Filter)
5 z G0 S2 i' K 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。! ^! J5 c) D+ W+ s0 q# L. v, w
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
f* r& Q2 d( t8 g! T; b/ D 00000001 -- Time9 B$ J3 c$ {9 m( [8 U
00000002 -- Query
8 N% V' |$ ~7 y% \% j$ ]! q 00000004 -- Query2
0 ] u) L! A! K3 k 00000008 -- Recurse. R5 u, {9 R8 }& H0 g8 z3 D8 h
00000010 -- Master
" T6 l" ^) @! J. | 00000020 -- Secondary) m8 @: p! `5 h
00000040 -- Wins
F" K; F5 L; m- I5 d1 S2 G7 \) H 00000100 -- Update
0 [- E4 n" H l 00000200 -- SkwanSec
- c; A. | G$ P: T2 \ 00000400 -- Ds( F0 d# B4 y6 M
00010000 -- Memory6 r8 K" H: }- [/ l8 d2 i+ y
00100000 -- PacketMem, u6 ~' T& S. H( A/ i
00040000 -- Dbase
( h E9 k: F& H. i% r# ~$ O 00080000 -- Records2 _9 n2 J5 U X* M8 b
00200000 -- NbstatMem
8 R2 ^ Z1 u0 j* @ 2.清除 /Clear 6 W$ D. N( c2 M' I) s
这个参数用来清除统计信息。( ^9 X+ M. l! R+ Q* s' R8 E$ w
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。4 M% v& u# n l. j7 E) ]7 c
7 B, p. ]% x" [% e
) L! ?) t1 B8 L1 \0 q/ ~* A9 U4 ^1 F
|