本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
( b6 l; ?7 l. w+ N' U 命令: /Info 1 a! p( P: R( W. Z/ ?- y2 H) B3 T
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
: r r0 E+ M% A ^0 ]1 P* m9 R* P, r 用法:
! I/ T$ u; P" g5 Z/ {+ D dnscmd ServerName /Info [Property]
5 ?1 J& ?% x0 {% q" I 参数:
- i# L9 c) B9 Y1 k) i) U; N ServerName
/ M/ R4 h# P J r0 l 服务器名称在上一篇中已经介绍过,此处省略。
" W$ _2 c) y" ?4 X0 `# r [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。2 M" P) g6 O3 h q1 b) n& i5 _
下面是该命令使用的一个比较完整的例子: r- |' I1 P% I/ h, h
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:. l" k0 P3 w, I m: R. N/ J9 G
dnscmd 172.16.12.1 /info 只使用命令而不使用参数) h% j$ f* h) {: p3 ]/ J; v
输出的信息:
, a; Z: D( V" r9 IDNS Server 172.16.12.1 Information:
# v) j& S* }6 X7 lC:\>dnscmd 172.16.12.1 /info
; g& w. m$ J' z0 _. P! X3 t$ \3 qQuery result: 查询结果 i- a4 D# a7 j9 i
Server info: 服务器信息
, C- \3 N6 A+ B. t! X6 v+ l% \ ptr = 00074718 端口
Y: N3 l1 V/ f; X3 M' v* q; Q server name = myserver.microsoft.com 服务器名称& j8 D* v9 Z( U
version = C2000005 版本9 {6 ~1 n( D5 k1 K& M) U
DS container = c DS“容器”. k8 m8 l/ _' H0 {
Configuration: 配置信息 这些信息的含义请参考有关资料
& ? J F7 F% [7 b6 `. z5 X# g6 y+ H dwLogLevel = 00000000
' |* t4 B2 w4 ~# p k8 F9 w3 ]0 y dwDebugLevel = 00000000
9 j! N1 ~. T, N8 R- \1 ` dwRpcProtocol = FFFFFFFF
8 z, G4 F' ^' \, g* l- M3 G dwNameCheckFlag = 00000002
+ V/ y6 P, F7 r: J9 k cAddressAnswerLimit = 0
+ q2 G+ _- C! e2 W, g2 T. I dwRecursionRetry = 3
0 U3 K8 Y3 D. V8 Y dwRecursionTimeout = 15
: n R6 z1 X( p dwDsPollingInterval = 300
/ K/ P5 C& c# m2 d, y P0 f d Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
. o% ]4 P* ]" p4 V# q$ x8 [fBootMethod = 3 2 |; f: T& H, r% B8 ~/ D% P* W& y+ J
fAdminConfigured = 1
. V" q+ Z- ]; SfAllowUpdate = 1
3 l& z# Y* [8 ~; B- NfDsAvailable = 1 8 O1 P0 I* G) Z, S n
fAutoReverseZones = 1 # W4 ^( `1 N" z4 n2 l
fAutoCacheUpdate = 0 " q+ |8 U0 m f$ y- G8 C, h0 p
fSlave = 0 * K0 y$ t. c6 e1 K0 k! H
fNoRecursion = 0
% u* S2 m. ?2 H9 TfRoundRobin = 1
1 D9 M+ |& c! M0 f, VfLocalNetPriority = 1
0 l& `% o6 u: j: RfStrictFileParsing = 0 * }' c, j1 W$ l: J7 l
fLooseWildcarding = 0
9 I- q& C, |& }% g2 R" {fBindSecondaries = 1 4 g5 |' q2 x5 j: S3 e% Z8 A
fWriteAuthorityNs = 0 7 Z3 E1 K0 b5 l$ b
Aging Configuration: - e$ Q1 ?9 s8 Y5 c* ^$ e
ScavengingInterval = 0
; X9 a% t0 i' ~% a* W4 SDefaultAgingState = 0 / y4 M) S- o. v# h% m
DefaultRefreshInterval = 168
! E0 O/ o+ ~) Y/ J/ XDefaultNoRefreshInterval = 168 ' E0 l$ P4 A9 ]% H6 [( B; V
ServerAddresses:
8 g; ~" n+ V- k' ?3 A2 a# X Addr Count = 1# M- P# P2 }4 Z5 b
Addr[0] => 172.16.12.1& F4 y4 k% T' X, N& n+ {
ListenAddresses:
) L* k2 i, V+ Y2 j) \( H1 y/ E NULL IP Array.
6 @- c4 f6 ^ Q9 P# L Forwarders:
1 k# i/ @+ v- C1 R- b Addr Count = 1
" ^/ a: Z. ]2 [ ^. s Addr[0] => 172.16.4.3. p) y. ~$ R7 A# Q
forward timeout = 57 Q8 {' Z- w' L: W3 q. ]& O
slave = 0! F- u- t6 N/ {! v
Command completed successfully.命令顺利执行完毕 & n* ?! {" `+ f3 C8 S( ?. `2 @
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 ) I+ W6 q3 y9 ^% [# _8 ~
命令:/Config6 C2 m! O6 J) q9 N, z
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
) N8 U9 P# K! @8 ~; Q/ N6 I. b0 l1 E4 T: \; v2 l# k: U4 W4 ?
用法:
( p, u$ t* Z2 S- ]) h( }, O dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* G# W5 X* V; r2 t1 x* }# q 参数
3 \6 [2 P( s m0 D- X0 r7 n ServerName :服务器名称,意义同上
5 G, G% q, N0 {( I9 d2 | ZoneName:4 k" H I; l& z7 ]0 A" o! T
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 b1 m2 ?5 V7 {& Z" y$ b6 K
Property:
! m5 R; I5 s2 G+ n 这个参数是属性。这里所说的属性有:5 F7 |7 I2 X- z. }5 F6 J
与服务器有关的属性:例如:' R7 ~- V$ h j1 B2 e
/EnableRegistryBoot
* U1 m: Q; ~: L0 y) g6 B/ @/RpcProtocol% P2 _ }- ?# o3 S
/LogLevel
& F- y& u5 r* r3 f/EventlogLevel 等等 (限于篇幅未能全部列出)
( c; U+ e T3 w! A1 u" B _与Zone 有关的属性,例如:
! j* z: E6 R% R6 M /SecureSecondaries
$ O, B- x3 N/ e6 C. a6 g9 \ /AllowUpdate3 ~% }0 p5 F& o2 Z/ g' v8 L
/Aging
; ?6 t% X3 f- p3 @* f /RefreshInterval Value; r1 g9 E& P9 }
/NoRefreshInterval Value) I4 A9 [2 V$ ~& U3 l9 d
属性值:
, J N' O$ J5 ~6 \2 ~ 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。: E0 ^) \ Z; X& r: G: v) [
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。# l% G' R) D! w1 E0 u/ Q
命令: /Statistics
' `! p. `. k- a& G7 {7 f 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。1 |1 L0 E& q/ ?0 T
用法:9 J3 f: L' u) [! E
dnscmd ServerName /Statistics [Filter|/Clear]
5 s+ H' F$ m: G# P6 n 参数:$ ^' M3 x$ B% {- n4 T* k( G; Y1 y
ServerName $ L: k' |( v& {
服务器名称,含义同上。
! s/ V# r9 |! J+ i- x) H可选参数介绍:9 M6 {6 t4 o8 [' `# |6 {# [/ U
共有两个参数,每次只能使用其中的一个。
" u/ J' E+ b% j% R5 a( b' i 1.过滤(Filter)3 v: x/ O- J0 [' O( X
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。. G% {2 T7 h5 O+ Q& G0 G
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
) {: v( D6 x/ t: t5 b* ] 00000001 -- Time
8 n& ~8 X' U+ _) V: S 00000002 -- Query
/ P! L. _! J1 u& e( a- H 00000004 -- Query2, v& ]+ z9 U5 c4 o2 T
00000008 -- Recurse3 Q# J/ R9 ]- _5 k
00000010 -- Master
1 [, B; O. B' R1 T6 ] 00000020 -- Secondary; o/ ]+ T! j" d+ T$ T! R
00000040 -- Wins
1 ~5 T! e6 B+ ~7 R1 @# Z 00000100 -- Update0 n1 B* P) F4 P
00000200 -- SkwanSec
' c9 q5 U4 A$ U2 @' x 00000400 -- Ds
& J! j1 E3 F" B; p3 A5 Z 00010000 -- Memory
; |1 ?8 [5 V# D& x& J0 G 00100000 -- PacketMem% p9 l; e! [8 X# F y9 ^
00040000 -- Dbase' m, |+ X- \% b4 N, U% u
00080000 -- Records+ B, C5 I' T/ T2 G8 s# c$ _
00200000 -- NbstatMem) m- J9 W$ G8 r/ y) x9 s
2.清除 /Clear
8 E" U$ q+ V0 K' g 这个参数用来清除统计信息。 l( A4 x& L- ?( c7 ?* f( Y1 M
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。& L' n4 D4 s# w+ X, X4 ]6 h
, D# K4 l2 P# h* ^' N' e# h* ]
6 m3 t1 s/ t0 P* _
0 Z7 a, g# @% e+ Y' f) w |