本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
; t3 z7 M7 B# T 命令: /Info
* Z0 T. J2 X! [2 @7 `+ A, a 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。6 Q$ r( I( F6 x5 f) N
用法:
9 b1 \7 C% `/ B, [ dnscmd ServerName /Info [Property]
! }/ g( h/ J, O" m- ?4 d+ g3 ?+ J% m; P5 ] 参数:3 ~( f" B3 K5 F- e( \
ServerName
& J) g. m$ E& t6 K' S 服务器名称在上一篇中已经介绍过,此处省略。 e2 G6 p- F! J. U# _: L& I
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。/ y# O7 \/ O5 n
下面是该命令使用的一个比较完整的例子:
7 Q8 |) {, O6 m; L 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:: X% b# }7 d7 s! i8 j6 ?# Y" i
dnscmd 172.16.12.1 /info 只使用命令而不使用参数$ J5 \7 y/ v, s9 X6 x& R
输出的信息:. d0 L9 ]3 b' l3 _- x+ H
DNS Server 172.16.12.1 Information:
' a& Y j3 w# v+ e. qC:\>dnscmd 172.16.12.1 /info# V9 e7 a2 d2 @4 I& \! o/ l
Query result: 查询结果$ G2 n( ^! ], p9 i r
Server info: 服务器信息7 i2 q6 w7 D+ \8 v8 ^4 h
ptr = 00074718 端口
5 R& a% e r$ ~ server name = myserver.microsoft.com 服务器名称
# e! U$ s, p: Z2 M" e version = C2000005 版本
6 V5 y! V; l% Y" _8 X! x; V8 x DS container = c DS“容器”
( g$ m, {+ G- K+ } Configuration: 配置信息 这些信息的含义请参考有关资料/ g+ Q8 ?+ \# ~# s3 v
dwLogLevel = 00000000- g8 J* e- {7 @, i% A# U
dwDebugLevel = 00000000
8 f' y/ X, ]4 m% c' _8 f1 i# [ dwRpcProtocol = FFFFFFFF$ ^" E9 l+ q7 a r1 I( g
dwNameCheckFlag = 00000002
" p+ |" F' Q; T5 F cAddressAnswerLimit = 04 o+ r( S) M, @
dwRecursionRetry = 3
# G+ |+ B& D! j% @5 K9 a3 L dwRecursionTimeout = 15. V, i5 p7 y( X# b& m0 M- I
dwDsPollingInterval = 300
7 f+ _1 k9 K. n6 z" S Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
$ e& I3 F, [* g$ P& y# ^fBootMethod = 3
; `$ f. O4 h& nfAdminConfigured = 1
' `- D$ E5 h" Z" GfAllowUpdate = 1
' d# Z5 c: ^; i- |6 LfDsAvailable = 1
y' h; a7 @/ B" P0 [5 HfAutoReverseZones = 1 # [, L+ I; w% z! g# s0 m
fAutoCacheUpdate = 0 3 t C2 z8 c# G8 Y+ i
fSlave = 0 3 N. C8 E8 X# t4 X: q- o9 F' m6 |
fNoRecursion = 0 # i% H# Z" F. T; }3 |
fRoundRobin = 1 0 i# B! u0 Z$ R A: v% h' s
fLocalNetPriority = 1 ; q; }; i! w& @# V1 H; Y: \) ]' ~
fStrictFileParsing = 0 : V* f# c; q% X4 c0 [7 f# ?
fLooseWildcarding = 0 3 e; F1 c5 h, ?8 o' F
fBindSecondaries = 1
; t9 \/ z* d% c9 e+ Q$ kfWriteAuthorityNs = 0 7 J b. c5 N+ H0 w
Aging Configuration:
5 _: ^- j3 e) m9 r% }. dScavengingInterval = 0 ! C% _( a6 ^" V- N
DefaultAgingState = 0 * I0 m4 R6 Q7 X* K5 V* d7 p
DefaultRefreshInterval = 168
+ N1 }) J/ F& Y! t: l) ^& pDefaultNoRefreshInterval = 168
0 {9 D1 u0 B1 j& `5 O$ Y: V. S$ o ServerAddresses:
7 X( E i) [0 N. J; N# }3 b Addr Count = 1# f* y5 x0 k! W9 B/ H, t2 K8 G
Addr[0] => 172.16.12.1' S+ a4 N( A) O/ S- [7 m
ListenAddresses:
" m4 x3 \! {# V" C7 }, H NULL IP Array.
7 }$ ` ^ V+ n Forwarders:1 u& L, [8 U& g7 Z7 }. m
Addr Count = 1
6 I3 G+ p7 L) l- j5 h Addr[0] => 172.16.4.34 N2 H' _: C7 L6 _: X( b
forward timeout = 54 V C" P6 I/ Y0 T) D0 j6 J& ~
slave = 07 n/ D y k& z7 F7 g
Command completed successfully.命令顺利执行完毕 1 c3 }/ p4 U6 _
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
/ L/ O2 [, E* g! d! z: T4 R4 X 命令:/Config- m8 E* g* y0 ]: q
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。$ V$ Y8 k. ^% ^- F6 y2 [
" |0 U8 f$ ]) C 用法:$ V0 o( @& l! X
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
# b! `$ Y* g4 [1 I3 o 参数
( R: w; F# O8 u j ServerName :服务器名称,意义同上 : k$ d. L& X# y* K* h: J* z4 a- M: V
ZoneName:
8 X$ _2 k9 g$ i& Y 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 6 R& Y4 C$ i3 ^4 p
Property: ; S* W1 l7 E3 r @+ X1 I
这个参数是属性。这里所说的属性有:
|! b. i+ e5 `2 I- G& {( V( | 与服务器有关的属性:例如:
: ~( ^+ C: s) l. }2 g' H/EnableRegistryBoot: p$ f. s4 P" D0 h
/RpcProtocol# d4 Z8 I) m: L6 ? I
/LogLevel
# p n, W A9 Z, w& }/ k/EventlogLevel 等等 (限于篇幅未能全部列出)
# e, ]- B: r/ E与Zone 有关的属性,例如:
8 f/ l1 |+ f6 d2 J Q( m /SecureSecondaries4 @; @& P/ G% G }) H. m9 T. C
/AllowUpdate
5 `# C/ a/ h( N3 p9 r /Aging! W' a3 r% |% D6 x) ?$ I4 \ X6 i
/RefreshInterval Value
( g0 F5 J: V) u' s& i/ X /NoRefreshInterval Value$ {/ N" Z, w0 U3 e
属性值:
# U8 G5 l1 u" f7 j, z 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。: Y2 S6 T5 s1 |
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。" p0 j7 F1 v [& w4 o% u" B
命令: /Statistics& A3 s. h' `9 {9 }$ G0 z& T
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
3 J. Y! w. r* ^( a9 H 用法:
7 }/ c& q1 ?- ~ dnscmd ServerName /Statistics [Filter|/Clear] ]" `$ {! S! ~5 ?
参数:
! o( N8 b. F" M: C7 _1 {ServerName % X6 j ^: R+ w# a) Y9 q( r
服务器名称,含义同上。
, o) B2 g1 z4 j$ V4 S3 E可选参数介绍:! e2 J* P- |# t9 D+ F
共有两个参数,每次只能使用其中的一个。9 q- ^! ^/ {1 x- z7 v
1.过滤(Filter)
: j1 T" W4 F6 v1 U+ M w 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。) t8 N6 G8 u$ K6 h* T
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
! T' t0 [2 o3 y& ` 00000001 -- Time
7 E# _% X9 J$ G: B* h) @ 00000002 -- Query
* b T$ i1 g- q u) j5 w" G 00000004 -- Query2
7 M# q( H+ H5 D* t3 f5 f, |0 k 00000008 -- Recurse5 Y5 }7 j! ^) }6 F! _( n
00000010 -- Master7 [! \; K, u, c) M& Q+ V$ f: J
00000020 -- Secondary
' v7 F$ x8 d4 Y) |* Y4 D* w 00000040 -- Wins w8 V z- ]# i. G, F) _4 g
00000100 -- Update
3 F/ Z% _/ c1 z! L# Y! E 00000200 -- SkwanSec- }; ]: c5 A2 R2 I
00000400 -- Ds
/ {- w7 V4 v9 t7 v6 }- i0 w 00010000 -- Memory
. z! o C: X. i 00100000 -- PacketMem
9 Z2 @- ?' |2 A5 t 00040000 -- Dbase
5 _4 Y2 B0 b. j 00080000 -- Records
6 `- @$ j0 F, f# B1 I" B- R2 R 00200000 -- NbstatMem$ c5 }9 ?& M6 M5 b& j
2.清除 /Clear : M9 J3 J4 g( r' o. G3 t/ Q% X3 u2 D
这个参数用来清除统计信息。
4 q/ F) F$ ?& o* \5 m2 B/ ]% h 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
& i4 M8 K3 f; s' {$ S* D; ~
$ B0 y3 d9 d) b; a , {1 e" v; `% O8 c! F
: |5 x; J0 e+ y. e+ N) }( h |