本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
' |$ m( q& ?8 K 命令: /Info 9 c" T k+ Q4 V R4 \
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
5 }7 E3 ^- c& T3 ]9 c 用法:' o( A: c& |2 `3 l& F5 W
dnscmd ServerName /Info [Property] 3 e- t# i6 _* E9 F3 f/ A3 A3 \
参数:
+ l3 h1 ~8 s' K6 u( z ServerName 5 N/ q, }- u* F( ?( Q
服务器名称在上一篇中已经介绍过,此处省略。 8 B" ?; j: d0 V3 x6 D
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。3 Q( e+ g5 q7 M7 R+ b
下面是该命令使用的一个比较完整的例子:* g1 ] O6 Y8 y2 S) o0 r; R
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
5 K9 O/ Y _, @4 U3 p2 ]dnscmd 172.16.12.1 /info 只使用命令而不使用参数/ F# }9 Q0 y" j$ j0 l" [
输出的信息:% }9 J9 ^3 w3 ~1 d2 Y8 V
DNS Server 172.16.12.1 Information:
. M I! ]' Z0 x4 {C:\>dnscmd 172.16.12.1 /info
! m- H" k: ~8 o% Z( W. MQuery result: 查询结果: J: G0 i; f8 _' w+ x# i6 }
Server info: 服务器信息' T( E8 U; Z% d [
ptr = 00074718 端口
* k8 ^6 B* ^+ I! f server name = myserver.microsoft.com 服务器名称
+ z+ t4 a& @" o; Z0 ^6 H! _7 x version = C2000005 版本
% Z. D4 A R5 w2 i DS container = c DS“容器”$ r: L* l# ~7 u8 |: |1 g% R
Configuration: 配置信息 这些信息的含义请参考有关资料2 h( D& O V4 ?
dwLogLevel = 00000000
# s) j/ L% I8 w1 |! y8 s$ ]3 g dwDebugLevel = 00000000
5 @/ j3 v9 D1 P | dwRpcProtocol = FFFFFFFF
9 Z J' X; d* c dwNameCheckFlag = 000000022 H3 ]+ c% F( G/ G& K: V$ H
cAddressAnswerLimit = 01 o7 o/ {3 C) z, ?' [
dwRecursionRetry = 3
+ U; N6 ^% _% _& i3 o9 x6 G dwRecursionTimeout = 150 u6 a3 e0 X+ x+ }) U+ u
dwDsPollingInterval = 300 c! z5 H+ Z9 N4 _- W& o
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
9 ?* J/ U9 A. N2 b4 GfBootMethod = 3 ( g W* K8 B% c+ g6 W
fAdminConfigured = 1
1 b# s# D% V+ G& ]5 n$ r! [fAllowUpdate = 1
* K9 i6 y/ _0 z y7 rfDsAvailable = 1
Z: a6 F- l! Q) K4 _fAutoReverseZones = 1 + ^( [! [2 j: Z# { r1 d
fAutoCacheUpdate = 0
$ v/ z3 _* A5 m$ l/ vfSlave = 0
0 S! N% h" K( B6 n9 gfNoRecursion = 0 , x0 s: _; {1 P3 }5 L3 J
fRoundRobin = 1 0 j; j3 e% V/ x% D5 ^+ @# U6 ^6 }
fLocalNetPriority = 1 9 h T1 k' |9 ~' z3 ~
fStrictFileParsing = 0
) r7 k5 g; B+ dfLooseWildcarding = 0 4 K/ e/ q. n0 h2 I9 X
fBindSecondaries = 1 1 d% S, y. [! i6 F$ N. T2 R
fWriteAuthorityNs = 0 / k2 }0 P, \8 D
Aging Configuration:
. `0 ` D: |) V! v' X/ r# aScavengingInterval = 0 & C+ P3 m8 ~2 A2 D7 l0 Y$ c5 M
DefaultAgingState = 0
( t1 S4 P1 v- D! pDefaultRefreshInterval = 168 7 N4 w! f- |, f; \6 h# q3 L5 y# j
DefaultNoRefreshInterval = 168
* N+ e* R6 K5 P8 K7 R2 l! y! \ ServerAddresses:
' N7 Y0 X$ b* R# s0 s" n Addr Count = 12 k7 Z! y( {1 v3 p) e; C
Addr[0] => 172.16.12.1
* y* L- ^# z# R+ w, a) Z4 {4 e ListenAddresses:4 \/ f8 _$ z+ l/ u8 s
NULL IP Array.' U6 G- A: e, {( k' w) @1 J, h4 E" @
Forwarders:1 v0 ^9 [2 n9 b1 \9 z3 T- w7 g7 N1 t
Addr Count = 1
4 O! {3 h1 A9 X" c, K" m4 h1 s8 v7 y Addr[0] => 172.16.4.3& }6 }$ M# W% s: W9 U: s$ `$ \
forward timeout = 5: S6 I! \% R" l' X. a6 @1 c$ n
slave = 0/ E, T9 T) n6 {3 O
Command completed successfully.命令顺利执行完毕
8 _* J) H& z- y. P 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
$ v" o( |7 k- u2 w. V' u 命令:/Config' W& \ ]& G! s) P" V) k5 l
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
: s! }0 ?& j/ P
4 h! z5 ?0 p* ~, M e 用法:4 g: S% `7 ?1 r# ?
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
3 Q k8 Q& ~$ b+ S* U5 ?5 D' t 参数
+ f# ^7 j. P7 |- z$ C2 x ServerName :服务器名称,意义同上 : z( ]! c# S4 b% v8 f. W
ZoneName:
2 H; q' y' [* V. O, \& j/ }- y 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 1 O1 f. j* ?- [' `
Property: ) q/ |2 n# z3 e5 \& W1 N
这个参数是属性。这里所说的属性有:) v, p- [ x0 G% U3 `& Z) ]. C3 @
与服务器有关的属性:例如:6 v3 r0 d2 Y4 k
/EnableRegistryBoot) B* n" a+ { a( s; V2 O
/RpcProtocol
4 z, V1 ^0 x8 j$ Z; y# i/LogLevel0 i$ {4 s+ z; L$ k( N/ [
/EventlogLevel 等等 (限于篇幅未能全部列出)
0 G6 ]; a! K! x. l5 C( A与Zone 有关的属性,例如:7 G, Z. S1 w( O* C0 W
/SecureSecondaries$ c/ X/ s$ s9 c/ O8 {4 K6 a
/AllowUpdate9 c& e/ ]+ o# g) i9 v1 T8 d
/Aging
/ t' K5 G- b8 w$ P. G1 x, Z /RefreshInterval Value9 W6 @0 {8 @1 J! }
/NoRefreshInterval Value, K9 f1 D6 J$ Q8 T0 c# e! w
属性值:
; X' g* l+ R' k 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。6 V7 d# v, {+ m9 q8 q; ?4 f
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
: w2 z' ^! V d- I Z: H- P/ x K" v) h 命令: /Statistics& Q; ]" q7 n- D$ k
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。+ ?/ b u7 `% D2 v/ q5 P* R" B
用法:
3 W7 s- o L( l, g" F% c dnscmd ServerName /Statistics [Filter|/Clear]
: N" p7 u9 L# s7 m/ i/ S. J, f4 V0 N 参数:. J/ s6 t9 l% c& f
ServerName
3 U5 A9 g/ e# R/ Q2 t服务器名称,含义同上。9 R, E7 X1 E9 A+ G# w' e
可选参数介绍:1 }: |- v4 F# J2 x! e+ |8 V
共有两个参数,每次只能使用其中的一个。
: y7 |, `# l/ I! t7 Y 1.过滤(Filter)
6 c! d/ P2 p* }) }! W. L 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
: N1 q0 }3 ^+ t% a7 Y; p, `* B可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 9 j l; g7 f: o E
00000001 -- Time/ f2 X, F# {6 f9 Z7 F
00000002 -- Query& {0 ~2 V+ x7 ]& v {, z
00000004 -- Query2# C% X8 \9 ^# ?! ?: f8 N5 a
00000008 -- Recurse5 [/ W9 C/ S5 }
00000010 -- Master b7 V9 J. Z& E9 W3 m% F
00000020 -- Secondary
* D6 S3 e) I2 q1 r E 00000040 -- Wins
/ x. a) l- w' P: i/ e% h 00000100 -- Update
9 W& \" C1 l! \+ g 00000200 -- SkwanSec3 Y: [6 O0 T( e+ E" c* L
00000400 -- Ds
, n, Y2 H, K" {8 k; q5 w1 }' x 00010000 -- Memory r ^- j" c( }
00100000 -- PacketMem
/ W# H# Q% F/ D- y 00040000 -- Dbase' g. ]/ g, E. K* e& R
00080000 -- Records
' |) t8 k- q" P/ ^6 C 00200000 -- NbstatMem8 _- O, H8 P8 X- W) V( s. S" ~
2.清除 /Clear 7 F9 c: e% F& z9 o8 a: }- l- H+ k" i8 i
这个参数用来清除统计信息。1 X* a5 x3 v; [$ X4 ]
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。' ~0 P: i; V1 v* f
0 H% f. h- K& ]; H p2 C 2 w0 d) c! T3 B8 E* c) z V2 r$ G
% @: t- n; ^* {% F3 h |