本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。 O8 f9 }+ X) C0 O. g* ?3 j6 H
命令: /Info
$ r: w3 I0 Y/ |! B: F; L6 p3 J, v 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。$ m9 S! [* V/ I3 ]) r4 u* d
用法:
' o' O. o5 Z3 `3 P8 u dnscmd ServerName /Info [Property] ) x- k/ F6 z2 M: I( |$ L9 I
参数:
! d! i/ a: l! S1 C4 n ServerName - u" J" p1 |4 E/ D: O9 i
服务器名称在上一篇中已经介绍过,此处省略。 ; W5 B* D% x s$ @9 X" k- v* S8 R/ G
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。; T7 q0 T' I9 a$ b
下面是该命令使用的一个比较完整的例子:
0 ~! k( f6 ]. k8 g1 U9 q" f 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:: t7 S" L$ z' M+ S. i) T7 [
dnscmd 172.16.12.1 /info 只使用命令而不使用参数1 [! |% H/ k+ q/ e! ?: ]/ I: ^6 A
输出的信息:" U* r( ^1 C. J7 m: }+ }! z) i
DNS Server 172.16.12.1 Information:! Z1 ^# J+ e7 D& G
C:\>dnscmd 172.16.12.1 /info2 L. W$ D( H3 t8 C0 F
Query result: 查询结果
$ W3 N0 ^5 o4 @" z) s5 NServer info: 服务器信息# r! o2 e) Y6 }" z9 c9 \, G$ O
ptr = 00074718 端口
9 B& s) z/ [. c4 J server name = myserver.microsoft.com 服务器名称
P! U2 v8 h6 ^. {, W' V version = C2000005 版本& c" U5 V7 `% f; } m* C( Z: P
DS container = c DS“容器”6 _% m5 f2 P& \5 e9 ]3 @% {. T
Configuration: 配置信息 这些信息的含义请参考有关资料
# q6 s9 N; s4 m) s# K8 y* X dwLogLevel = 00000000! x1 g. ]5 g) U$ E0 }8 `9 Q6 @
dwDebugLevel = 00000000; H. T6 E5 W4 w3 U0 u
dwRpcProtocol = FFFFFFFF
& ?; w( I# ^0 O3 |% a dwNameCheckFlag = 000000027 J; V2 N( X9 }4 b" P# |, [. x) Q$ X
cAddressAnswerLimit = 0
* W" e# A* W& A& l; g dwRecursionRetry = 3
/ L5 t, e( T. V \/ x dwRecursionTimeout = 15
7 q3 V# _8 x) A. v N dwDsPollingInterval = 300
1 Z4 N3 a8 _ C6 l" x Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
) u; _7 \# o9 |/ [0 _- ofBootMethod = 3 . G5 x8 M( }9 T4 A1 f% i
fAdminConfigured = 1
- `/ z2 w' x& q0 {% |/ d6 pfAllowUpdate = 1
$ S$ N: p% U' x5 {" v/ LfDsAvailable = 1 / v9 t+ ]7 ? n, T* l0 v4 b
fAutoReverseZones = 1
: {* y5 G, P3 x3 E# j8 mfAutoCacheUpdate = 0 u9 I- N! Y* q2 I8 @
fSlave = 0
* |" _: K8 q$ b% |fNoRecursion = 0
3 k2 P A, H e; ?1 G y8 C0 dfRoundRobin = 1
& W2 ~% }$ T9 n5 d# ]7 nfLocalNetPriority = 1
4 \+ b! {* A1 @0 G# w2 ?fStrictFileParsing = 0 2 v* }7 }; r5 A, Q4 c
fLooseWildcarding = 0
$ L# G9 `$ n _! n7 C z. g. ] b8 @fBindSecondaries = 1
* J8 ?2 s4 J" UfWriteAuthorityNs = 0
$ g' H* @) x# }' U$ xAging Configuration: 0 w8 W. `3 Y: Q, u: x
ScavengingInterval = 0
. [ z7 _% h/ _- y# T) u+ ]DefaultAgingState = 0
2 A! `, W! k! O6 b' eDefaultRefreshInterval = 168 $ Y5 W, ?2 g/ z, j, ]7 S
DefaultNoRefreshInterval = 168
) T2 ~) W# s. ?7 w! V+ ? ServerAddresses:
; w1 ~. g9 `3 o Addr Count = 1
: q. |6 p+ H l) c# q- G# Z( f; L+ ] Addr[0] => 172.16.12.1: p2 ?( e) I0 j7 |2 o$ f
ListenAddresses:
$ M1 f/ ]7 J' G* D* P NULL IP Array.
) N7 T% j! o& f2 h7 L7 |' O Forwarders:4 {( `+ a5 K3 o$ x& Q0 n5 [5 i5 ?+ ]
Addr Count = 1% \: @& S' ^- I8 t5 C
Addr[0] => 172.16.4.3' x" B) ?3 B2 | I$ f
forward timeout = 50 p, z- b: Y0 U1 y
slave = 0" L7 `& ?4 T: V8 H( h, U. ^% _- Y
Command completed successfully.命令顺利执行完毕
- \/ G' H- c1 k" V. V' x" V& @ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 2 X" F: C7 e0 v5 s
命令:/Config# `- n7 Z, b8 b0 {1 I
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
! v2 P* u5 }% k0 N5 ^6 p C0 e! V
2 [ P# y* B8 m- M& n+ ?' e 用法:
8 R8 o) v) }/ ^! ~( U" W$ j! Z. P dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
; \) a9 A2 [8 g0 r' D 参数/ x& S: d" j7 R" Y* x. x8 P
ServerName :服务器名称,意义同上
) A" @+ r5 X9 F7 }) ] ZoneName:' x) S# E: g; ?+ C! R8 y0 }
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
8 y0 N" o% B0 j- l3 ?" i" B Property: 9 b) I7 d* L" E0 w
这个参数是属性。这里所说的属性有:
9 Q+ P! v9 t. k8 j4 f& C 与服务器有关的属性:例如:
# w+ a& ^1 }4 i3 H5 O' E7 [, I/EnableRegistryBoot
5 q% Z: ]. N2 _9 {$ ?/RpcProtocol
+ ^1 _( m! e) Z, q* i/LogLevel
c: ^$ {+ H6 ^$ c3 o! H' p9 d- t/EventlogLevel 等等 (限于篇幅未能全部列出)% U. |7 w' h# J/ _7 a3 J
与Zone 有关的属性,例如:
. ?* j/ N+ {9 r$ o /SecureSecondaries! e( H$ H7 y* @5 {$ W
/AllowUpdate( S2 H3 p; `( C' O
/Aging
& d" P5 ^# h( u /RefreshInterval Value
; b+ f0 e4 B1 K, r- V; H /NoRefreshInterval Value- l1 u# V' m# T$ U9 n6 ~
属性值:
$ Y U5 V* q a8 F 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。$ S# h0 l5 X$ S! k5 _; A
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。 m4 o* Z! b' ^- s% w
命令: /Statistics% k! T: Q* {3 p
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
9 N$ e# P! C x8 V 用法:
8 E# H# v3 J. F2 G dnscmd ServerName /Statistics [Filter|/Clear]
& V) }; d1 O1 E- A( R 参数:; c! X; {( p. |3 ^9 i0 h
ServerName , I: r; ~3 ?4 }( G2 [$ I
服务器名称,含义同上。! O7 x0 I0 U a$ ?
可选参数介绍:0 d5 n- `/ [. ~# @' V8 }# N
共有两个参数,每次只能使用其中的一个。
: W c+ N9 e ~ 1.过滤(Filter)5 T& R1 _4 L7 n9 A
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。6 }+ }$ @9 H$ D$ C1 O# E- n
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
9 v* F: ?" L9 R 00000001 -- Time
9 V8 q2 C4 p: ~ 00000002 -- Query) y1 ^ h, \3 w. R% u$ p5 F2 V
00000004 -- Query2
) S+ S) j5 z3 a7 [, |1 M5 r 00000008 -- Recurse x% z' B" `9 j, n6 b" w3 P
00000010 -- Master, G- y& C8 a1 ?- F/ Z
00000020 -- Secondary( q& \ D0 d: A( ^9 i
00000040 -- Wins" H& C" \7 g) D8 ^& w, F
00000100 -- Update
# B. K0 d3 W1 z3 _ 00000200 -- SkwanSec# a4 Z/ F+ b, x& f4 j1 I
00000400 -- Ds
# a9 d8 q7 l4 ?" x0 `. J 00010000 -- Memory) @1 P7 Q& B; K* q/ b# C0 I
00100000 -- PacketMem
7 D! l. E) Y# G9 @* z% X 00040000 -- Dbase I0 f4 o( G: ?. x% \
00080000 -- Records
$ B( V1 r4 U7 `7 \+ P 00200000 -- NbstatMem& z2 \9 n% V' Q
2.清除 /Clear
* P, M- R0 u0 K; Y1 D T 这个参数用来清除统计信息。
) ?* O' _6 t/ v2 ` 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
. ?7 S: _! `: c# s5 D. r: [: `3 ^. X3 Q# h C
. Z7 n2 T! N g9 R+ v: A
1 P" m. C& Q% L8 s2 B/ l |