本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
& u3 S, f. Q, r6 Z3 G8 @" Q! `# U 命令: /Info : g/ N6 c. W, K! E
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
7 K; e# Y) F) g6 r2 k 用法:
; o! i2 W/ g4 S6 S. M+ h2 [- i2 M dnscmd ServerName /Info [Property]
( s. F* s# v: A& X. M 参数:3 X' S" I1 q' {
ServerName
0 ^/ u% L, U- \) n Y; f* A 服务器名称在上一篇中已经介绍过,此处省略。 9 Q! B4 W8 o+ Y% N* x
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。: L8 P( J9 f. Z3 t
下面是该命令使用的一个比较完整的例子:2 ^2 p: R) Y/ `7 R( N: O
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:( p3 p& y$ n0 v R9 [
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
- L1 `4 q* `, k y2 m9 E( m* m- L输出的信息:" g+ o7 |, T8 ]9 K
DNS Server 172.16.12.1 Information:$ y6 W5 A( B, G! _
C:\>dnscmd 172.16.12.1 /info
+ J0 T) j7 {1 H6 e3 R& D% |* oQuery result: 查询结果
! K+ O) c" Q. f* vServer info: 服务器信息
3 M. H J: e: q, P: x5 L ptr = 00074718 端口
. J8 `( O* u2 C R- y server name = myserver.microsoft.com 服务器名称
2 f/ W$ ]* u) J6 P3 m version = C2000005 版本
" g) X' u4 ?, [, K* Z DS container = c DS“容器”+ d) `; Q, n$ H8 R3 S
Configuration: 配置信息 这些信息的含义请参考有关资料" P, K- j9 r1 M% e l8 K% R' N
dwLogLevel = 00000000 h9 |3 w2 b" e" c
dwDebugLevel = 000000005 Y, K( x/ p# g |1 [
dwRpcProtocol = FFFFFFFF
, j m- ^8 z. ~: o" x/ U dwNameCheckFlag = 00000002
7 c2 ^5 e4 A& ~/ {* k$ q9 D cAddressAnswerLimit = 0$ e Y8 [1 c \: J( d! L8 b. E
dwRecursionRetry = 31 s0 b$ V! t% Y) F+ }
dwRecursionTimeout = 15
. v& }6 [, f+ o- g: E- A; U dwDsPollingInterval = 300
: l7 [9 A: R8 Q9 v Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料0 k/ V5 T% K3 q7 E5 g
fBootMethod = 3
! V. H+ S z( t5 X' yfAdminConfigured = 1 , c8 }4 B" [$ p: F0 Q8 `
fAllowUpdate = 1
8 P) |+ s1 e& HfDsAvailable = 1 9 @. y* ]- ]4 p( c' H) O' Q9 f2 B6 W
fAutoReverseZones = 1
4 I: G! R0 N& p; p' H% i& HfAutoCacheUpdate = 0 ! G! S" L0 y# P# I$ k5 \: k Z
fSlave = 0
2 T6 @3 U; E- k% s; K% y: mfNoRecursion = 0 0 r9 P/ ]& t5 E
fRoundRobin = 1 ( l7 x7 S$ N I7 P" W3 \7 \7 u
fLocalNetPriority = 1
7 m. \: v5 g1 @fStrictFileParsing = 0
2 }3 G) B) \+ j- N) p; f, b# H$ h7 ^fLooseWildcarding = 0
$ ~/ A/ V1 j, A1 A7 j0 E" ZfBindSecondaries = 1 ! B% C) e4 d. a% B3 m' h; q- F
fWriteAuthorityNs = 0
5 k g% W6 S; x) @) u/ B) l2 M- ~Aging Configuration:
1 S6 V, ^7 ~' ?; fScavengingInterval = 0 : z0 v$ k* u" R4 w
DefaultAgingState = 0 8 t3 ^2 n+ v( g4 q
DefaultRefreshInterval = 168 9 S; g4 }" F) \2 K; u5 n
DefaultNoRefreshInterval = 168
1 J, o' ^" x1 X2 r" o; Y ServerAddresses:
* J Z5 c% a/ k5 w2 y9 \4 o Addr Count = 1
' q" g" @- s# g3 R Addr[0] => 172.16.12.1
4 U% a& P4 B6 Z6 ~" x2 B ListenAddresses:0 ^, o* Y3 W4 p/ @ d
NULL IP Array.% @$ `1 y, g" r% ^7 O8 m) Y: B1 W
Forwarders:; d# ?( v% k( R* g
Addr Count = 1/ w, ?9 W [' [' Y9 A
Addr[0] => 172.16.4.3! h" L+ ~7 i3 P( c7 m' L/ I; R
forward timeout = 5; R3 n& Q, ^" M' @+ c8 `
slave = 0+ e! b/ ?. d6 `) o% Y! E$ S# q
Command completed successfully.命令顺利执行完毕
: n# u5 C3 _7 W! l% O7 Q. C 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 7 @% b |: ~& C, M& B* y& U
命令:/Config. v) R5 p! C p3 Y1 w) ~
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。* }9 |! B5 [5 F* I2 {/ q$ {
) q: L& r0 t# l+ d
用法:
) e; y) O6 p$ B& Z dnscmd ServerName /Config [ZoneName |..AllZones] Property Value5 i5 |; e; i s2 ]$ P! E
参数
; u6 b/ m& t% R8 p) v8 h9 n ServerName :服务器名称,意义同上
* E' P3 z3 }) l: H- ^: e. S @ ZoneName:) [, P3 h$ e% K W0 s" E. O& N
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 # j- P B- c7 ~5 s
Property: " Q( D5 V* X& U' @1 A6 C: ]- P/ t
这个参数是属性。这里所说的属性有:
2 r* ?; b, }$ v( Z 与服务器有关的属性:例如:% A7 X5 c& n2 I4 }5 D- G' F0 M: C
/EnableRegistryBoot& T6 x0 T) I$ U+ w
/RpcProtocol4 Z, V) _' }# Z
/LogLevel
2 [% i$ `3 L- u6 z& @$ {/EventlogLevel 等等 (限于篇幅未能全部列出)% z E, S. T) j6 G) Q
与Zone 有关的属性,例如:
; F3 ~5 _9 T: F- n" D3 D6 j /SecureSecondaries
1 M7 y: L1 ?# s& H# _ /AllowUpdate) r4 Q/ e6 }5 ~7 r: ]& ~* V
/Aging+ |0 F( d1 j9 E0 ]2 s7 {9 T6 S
/RefreshInterval Value
: I: ~2 L6 k. C8 c# x% ?' M /NoRefreshInterval Value
: c: {+ P& n% f. D) S9 B: l% D 属性值:
9 x. G2 ?. H6 e# U 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。! t& y% d: f8 s; g+ p
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。9 r/ Q2 @9 U1 A$ w) Q
命令: /Statistics! F, }8 N$ Z- i
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。+ f/ h4 A% Y# N0 W
用法:; m& @) J _/ H: k( M8 i
dnscmd ServerName /Statistics [Filter|/Clear]' X9 \8 n! ]8 O3 E! I
参数:
8 m. p6 c4 f7 ~& ?+ J9 h: xServerName ' ]* H# P( V: a4 Q
服务器名称,含义同上。! m8 b' x* D7 l+ e( [; u) S
可选参数介绍: ^( r8 u, U$ @5 W+ \- c t( O
共有两个参数,每次只能使用其中的一个。
3 m# y1 G2 N& B5 r4 m 1.过滤(Filter)
0 A) H- J k# \( H; M 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
- n9 v# P, K# g' u# c/ V可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 8 }2 l1 N2 T$ L! v* p0 D5 {
00000001 -- Time$ {4 T* `+ C5 }6 o
00000002 -- Query
2 R& X/ x2 e8 h* i! T5 Y 00000004 -- Query28 k H6 {2 M% o# L
00000008 -- Recurse1 h+ d$ k \$ |- s6 L0 a
00000010 -- Master8 u" b4 Y2 h& }# ?) }3 f
00000020 -- Secondary
# L# [* {4 i6 b3 ?3 q4 ?5 d 00000040 -- Wins& K$ ?7 J7 f/ V7 z, v' d' v" }
00000100 -- Update. c$ i' i6 o0 g) u% q8 _
00000200 -- SkwanSec
, o8 J# r. A7 G 00000400 -- Ds
0 w, z1 H- q6 t* w 00010000 -- Memory
4 I1 ^, B( Y ^2 j: r8 j, ` 00100000 -- PacketMem
( Z: `% J" R) g 00040000 -- Dbase" Q6 d# x v- A# u
00080000 -- Records7 h2 d5 g' D5 s9 P) \8 u
00200000 -- NbstatMem
: o; N, d5 T! ^1 k' ~3 f4 W 2.清除 /Clear P' O3 |8 Q0 {3 Z9 H* O. U
这个参数用来清除统计信息。6 a1 w5 J z" B: O/ g- y
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
4 {4 Y: V- o! |! R& a: ~ d4 t) w9 t( f- D% V
' g' n& U0 `/ T* d$ A+ A1 p/ K
" {# |/ r3 n' a# p/ }8 t8 [ |