本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。2 ~2 y2 f- U% L2 J
命令: /Info
$ \+ ~* g' L* j/ ]4 v 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。1 n' [9 j1 X: ]0 O
用法:3 ?& U1 {3 K0 J- y- G8 l
dnscmd ServerName /Info [Property] " P5 p+ L! a5 K' J( M) U: y* m
参数:+ S0 @$ b, s4 o8 T+ s0 ]
ServerName + {; j' ?) d& V9 N# e6 ^" l
服务器名称在上一篇中已经介绍过,此处省略。 + h- j/ f% x' r. a! z( X
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
/ S) {: r6 ?8 j+ i/ o9 q$ { 下面是该命令使用的一个比较完整的例子:
1 g. f8 g/ s+ h, ~" K4 r 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
* x7 A$ e" U$ _dnscmd 172.16.12.1 /info 只使用命令而不使用参数
4 n+ r- G8 q/ A/ S2 p输出的信息:
- J4 n- X r. I/ g0 gDNS Server 172.16.12.1 Information:4 v) Z5 S% y7 P1 o0 t6 V
C:\>dnscmd 172.16.12.1 /info2 N$ o2 \4 t7 }' ?0 r6 N1 ^
Query result: 查询结果
; ?2 O c" Y+ |' z& qServer info: 服务器信息. ^$ I% J& D& B
ptr = 00074718 端口
7 V0 z/ B& u+ |+ P* i2 e server name = myserver.microsoft.com 服务器名称
9 E4 X5 r0 H; q5 r# f1 s version = C2000005 版本
2 U1 t1 z3 y+ D8 T3 n DS container = c DS“容器”
5 ]( B* C) ^) G# c+ ~; k Configuration: 配置信息 这些信息的含义请参考有关资料
4 Y' o/ B; y9 Y {% \9 O1 G2 o. i dwLogLevel = 000000001 v0 Q2 h& o" {+ c" \5 K
dwDebugLevel = 00000000
7 a4 d* x' m% V, {) a- C" h dwRpcProtocol = FFFFFFFF
9 t( I8 ~& s5 p' N dwNameCheckFlag = 00000002
o) G& T8 s4 ?4 B) E) D' U3 u w( Z cAddressAnswerLimit = 0
@" U$ T6 }* x F/ | dwRecursionRetry = 3" _& e$ ?6 D, p/ r
dwRecursionTimeout = 15
* m! S3 b' Q. Q+ A dwDsPollingInterval = 300 H# X7 P4 B/ W" k& r
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
7 b. p3 s( \1 S( |/ D$ |fBootMethod = 3
# g5 B r8 d1 h, P: ?4 EfAdminConfigured = 1
, u1 `! U$ g* b. ffAllowUpdate = 1 & E2 [: s) `% m" e* z5 v9 |. j+ J
fDsAvailable = 1
& }2 X. ] M7 ^' [" B7 N6 BfAutoReverseZones = 1 * C' Y: A9 }: d( U- u! R* `; r: _
fAutoCacheUpdate = 0 V- ^; @, i; D' c) d
fSlave = 0
6 s# R3 V. r; y% `& l1 N3 |fNoRecursion = 0
0 R, I8 A7 [1 e' A* n4 hfRoundRobin = 1
" X7 x7 V& l" Z) H# ifLocalNetPriority = 1 7 @0 w; F e8 o
fStrictFileParsing = 0
7 w+ @ w' Q3 ~1 r3 ~fLooseWildcarding = 0
$ l% p5 @7 @5 Q+ z1 K0 HfBindSecondaries = 1 1 j; T3 x# @ r3 v
fWriteAuthorityNs = 0
) B7 q( z4 T( @; uAging Configuration: 9 Z" i- }6 z' A3 v6 o
ScavengingInterval = 0 : e N4 {* G/ C, h0 |9 F2 Z
DefaultAgingState = 0 3 B" t* [( W; |* ]: i1 p8 R+ |$ I
DefaultRefreshInterval = 168 / `3 Y2 t2 J( u( g+ B8 j
DefaultNoRefreshInterval = 168
/ j: a. j% c' K2 ^ ServerAddresses: ) ?1 Q% k2 v& U) V) m) Z2 l) Q
Addr Count = 11 n3 @, q+ c) Q
Addr[0] => 172.16.12.18 j# _5 u7 x3 v+ T2 H4 i. Q
ListenAddresses:
' V& [2 a' J& }3 _( F NULL IP Array. j8 v) J5 W& T
Forwarders:
1 h" d. _( s$ Q3 Z" B Addr Count = 1$ j7 R9 K' v8 B( j' W
Addr[0] => 172.16.4.3
# z' ?6 V& w: N6 U7 { forward timeout = 50 F2 |( U- B4 ^
slave = 00 z0 {4 l9 Z- T& \- S( L$ ]
Command completed successfully.命令顺利执行完毕
" h5 n) r& ]& v+ M% w 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
, M* l: [; ?% \' x/ Z/ d$ N& ^ 命令:/Config u; M' a( `2 K" P, B
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。6 T7 J8 _ l: K& G( n9 Q, X# F( {9 s$ f
! c& }/ k# O: o& t3 q0 X! s) S
用法:4 S: `! @) v) J9 A. D# @" }" X( r
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value, A9 ^: ^! U. A0 V, U0 S7 X
参数: ~0 Z9 I( g% o9 L, ?" C9 S
ServerName :服务器名称,意义同上
; {; V8 e3 d' A% x6 P$ W. U ZoneName:
# F, E+ \. m4 u9 ] 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
$ {- z- L2 Z" a3 F Property:
5 K q# g8 M4 |5 i8 k3 {9 ~ 这个参数是属性。这里所说的属性有:
* }, g; \# L4 P7 d3 M; a7 u 与服务器有关的属性:例如:
0 h, b1 O d' Z' W2 t6 T/EnableRegistryBoot
5 `0 ~( `4 P% e( x/RpcProtocol
) j8 j% A9 u3 c9 q) W/ j3 o/LogLevel9 u( V, ]/ {0 w2 a
/EventlogLevel 等等 (限于篇幅未能全部列出)
J3 E$ a' Y8 f9 W% O: Y( |与Zone 有关的属性,例如:% x+ _$ i \; m. J* d$ c
/SecureSecondaries
1 J& m, S/ T% B# S/ ~ /AllowUpdate0 S5 N5 N7 Z- @( z% {; T M
/Aging' N/ T% s% X, C, v8 u9 p
/RefreshInterval Value
" S* E( x$ u" Y5 e2 q9 {( k* l /NoRefreshInterval Value
5 w8 k F1 |+ g/ @1 T 属性值:
- G0 c9 x: _8 W: J3 n2 J 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
* n7 O- m& @ O4 p! N0 |从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。. j* H6 r+ M1 Z S0 q" h0 \
命令: /Statistics: s* r- o; X9 D/ d) ?; d
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。0 `( x, a2 } q t( Q+ A. ~
用法:
3 |, y. `" s* r9 R9 G! q dnscmd ServerName /Statistics [Filter|/Clear]; B9 j5 E' i9 P: F% [& E+ P1 [
参数:# g" t/ H3 O5 w7 [1 _7 m' s4 ?
ServerName + Q7 ~* S8 M1 t6 T9 w, s# j. W
服务器名称,含义同上。5 c8 [# L# V# \8 f% p1 w
可选参数介绍:
( L4 q) Q: {; v" \, W共有两个参数,每次只能使用其中的一个。2 u4 f! z5 o+ l( X6 G
1.过滤(Filter)
/ S( y6 |" r8 N, ?+ N: C 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
, s9 E- \: V i4 e: B% G可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 1 _. Z" m: k. ^+ {, p- U
00000001 -- Time
4 n( \6 b2 P E# h/ h* z 00000002 -- Query, ^! ~% a: T# b: v, x
00000004 -- Query2
0 E6 D r M3 [, p& d( _/ z' E8 K 00000008 -- Recurse- Q Z( t9 L( {2 X7 ?; v
00000010 -- Master
2 L& [( u' V F5 J" @9 ^6 i 00000020 -- Secondary0 V' Y. @; O/ V+ c$ v$ s! G
00000040 -- Wins+ b, X5 F D6 S6 j9 x& G
00000100 -- Update6 R( T; n! G/ p' i( I- h7 d, O
00000200 -- SkwanSec% t( w" \5 n" G4 `4 u w
00000400 -- Ds
( v8 e/ {5 I* \3 r$ l% ?( X y 00010000 -- Memory* a7 n/ Y: r2 l8 q7 }% o; Y
00100000 -- PacketMem
' t5 ]2 y I. L 00040000 -- Dbase( L4 l% ]6 Q" l) L2 ^1 l1 D5 I V
00080000 -- Records
7 I( d6 H& j2 d5 I 00200000 -- NbstatMem
+ Q B6 T r; f, f$ C4 k 2.清除 /Clear , _1 v5 y. q1 r" c% r u
这个参数用来清除统计信息。
( m) q3 x! G( z' j. k% \ 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。, H& o0 ?- v" `- F1 V
! i0 L7 [/ |2 b+ m/ x5 [) c
( t; L/ X/ z' B* G
7 C# p. c; u6 Z; N |