本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
6 O; Z* ]$ h4 M; p9 ] Y 命令: /Info 9 r5 h8 Q. T2 Q9 ^
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。( x: `9 x9 P# E) D
用法:$ \) `+ s) ?% s! k7 q& q8 f: r+ e
dnscmd ServerName /Info [Property]
0 T+ w' V1 z* T: D/ a% m: m 参数:" g! y2 h, ]5 z, u/ m a
ServerName
8 X H* e T" c& O! a 服务器名称在上一篇中已经介绍过,此处省略。 ) X0 Y& h% h/ b0 B |. L
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
3 m+ Q3 ^0 N, P7 r& L6 x: I6 F 下面是该命令使用的一个比较完整的例子:
, s7 |" w6 Y/ f4 x: d( s/ U 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:7 W' q4 u4 A, [% m" z
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
# p% ^1 c |1 V q输出的信息: u5 _, _% h6 C8 t
DNS Server 172.16.12.1 Information:6 [9 T& `4 z) S+ e0 G& \8 B' @/ g
C:\>dnscmd 172.16.12.1 /info6 h5 k+ N0 E; V) @
Query result: 查询结果+ O) [& ~. _! ]; I/ F
Server info: 服务器信息
I" w; W) T, `4 J& z* s ptr = 00074718 端口! j& `2 J. O- E6 @# T
server name = myserver.microsoft.com 服务器名称
2 s8 Y7 H1 W4 V9 S& T9 q. j version = C2000005 版本
( w) d" Z- c" q+ w4 E$ L- t0 r+ M DS container = c DS“容器”/ w! F$ g q4 ?6 E- _8 f% C
Configuration: 配置信息 这些信息的含义请参考有关资料! T0 m7 l! \( u% A, v* d+ T
dwLogLevel = 00000000
) o: G0 A" R6 p% f; E, T dwDebugLevel = 00000000
( h1 D, r1 q5 @& x* x% @4 @2 f ^1 X dwRpcProtocol = FFFFFFFF( k* P8 K4 K' _
dwNameCheckFlag = 00000002( r. i# i3 _% D
cAddressAnswerLimit = 05 u; z. `# t4 O& S, r
dwRecursionRetry = 3; Z j& `; l( ~$ ^
dwRecursionTimeout = 15; z5 P4 C* Y/ i# ?; {; a
dwDsPollingInterval = 300
) f# J' N1 h6 a! Z+ s; r6 [ Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料0 C* T t0 _ D
fBootMethod = 3 & m% B+ v( ^1 l* A( L6 S2 ^' U9 ^ G! k
fAdminConfigured = 1 ' @1 M( `* M+ E. J& U
fAllowUpdate = 1 Y& f' S& R3 i# C2 ~2 Q
fDsAvailable = 1
) f% x2 D9 S6 a4 H; W9 i3 W8 I# C# efAutoReverseZones = 1 7 Z. I" t b$ P$ T0 Q7 m% A
fAutoCacheUpdate = 0
0 u2 Q0 |- r2 k9 rfSlave = 0
7 o2 K+ V1 j4 V! x3 S" F& KfNoRecursion = 0
7 T1 b1 E9 }0 {( HfRoundRobin = 1
" q9 h. A+ k9 {- T! YfLocalNetPriority = 1
- ~$ k3 a- I1 r* XfStrictFileParsing = 0
/ c) q* _# u: y, z2 W$ yfLooseWildcarding = 0 " L) Y6 |; g" F* {/ p
fBindSecondaries = 1
' v% s0 t0 _" g ]) R/ ufWriteAuthorityNs = 0
0 i9 t; a- b* _+ K2 b$ PAging Configuration:
% W, ~- h; P, {% gScavengingInterval = 0
0 h4 N T @% S1 {3 w- ~2 Y2 |. zDefaultAgingState = 0
, h: R0 T+ }8 L0 V* s" ]% cDefaultRefreshInterval = 168 * t$ D. ?( s% B5 l
DefaultNoRefreshInterval = 168 / L$ g! z' F8 X( F' s& v
ServerAddresses:
/ p! E5 j& e! z u& r Addr Count = 1# u- l+ O& }* G% v2 d: e
Addr[0] => 172.16.12.1
( V V9 u' c3 c ListenAddresses:5 O& K& H( ~. ?; N$ f
NULL IP Array.
8 ]" d+ F0 w7 U9 y* u6 j( ` Forwarders:( ~, h/ G! X1 A$ Q" v% b: r6 y+ P& C
Addr Count = 1
' `8 |3 f8 `* d0 T! K2 | Addr[0] => 172.16.4.3
. o# Z6 w5 d; c3 J% ~9 L+ y: @ forward timeout = 5
# K% [) Y' }9 d2 `) f! b7 j# ]- j3 P slave = 0( R, z M; ]$ f2 R8 \
Command completed successfully.命令顺利执行完毕
. Q- C3 o& i/ C" B( T5 M2 p! m1 {& ?& Q 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
3 i8 o5 J7 T: X3 ]5 m W% d 命令:/Config
+ M( s* V2 b1 P' h/ g 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。& Z- ~/ n( r0 P6 W
! b4 t. f7 Z$ z0 e4 z+ { 用法:+ Y2 S. G) |4 w7 A/ c+ z( p; x
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
9 Z$ A% }7 y# B" h6 |# \ 参数
% K, w* f& ^+ s$ {1 P ServerName :服务器名称,意义同上 + v* G) ]" M3 H: l" S; |4 G
ZoneName:! P3 U2 c: w" j2 n& `, F
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 - @" B( x# O. F4 D$ j6 c
Property:
; o7 n ]1 E5 T: @, S 这个参数是属性。这里所说的属性有:
) N$ R: j1 Y% c- { 与服务器有关的属性:例如:
0 b5 }* x9 i! P0 {/EnableRegistryBoot" ~" {3 S; w0 U9 f* k( B
/RpcProtocol6 R$ {' D% l. V, a- w `- _
/LogLevel
: o! x5 `; R7 s: o( B/EventlogLevel 等等 (限于篇幅未能全部列出)
: I$ r2 C$ x: P B! x4 Q9 y7 m与Zone 有关的属性,例如:& X6 m, \1 b( d" R3 f. Y0 B
/SecureSecondaries$ S) t: |/ W1 [; c, V8 p/ o
/AllowUpdate8 c0 Z t, q# Y& W4 s; D
/Aging
6 J* e8 {- Y- K /RefreshInterval Value
- N# I: |# w4 t# ~ /NoRefreshInterval Value
5 p* ^7 O9 S9 T" V! @" l/ ~2 @ 属性值:" [+ J+ w9 l3 [: F5 H
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
- z) ?8 j9 R8 u; y3 \& F从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。3 z1 ^$ a' H1 Q) e/ I9 h* F
命令: /Statistics: R. G; A" w' a
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。; p) r5 r" W" }+ R" }9 r
用法:
" f) ?5 [. w( {$ d! L0 T dnscmd ServerName /Statistics [Filter|/Clear]
9 |) h0 ?7 s) J$ i1 ]) { 参数:6 s" {/ {% q6 m7 r0 L$ r3 X
ServerName 6 g0 o0 c7 \/ `+ ], l- @1 _
服务器名称,含义同上。
/ y- Q | p' u& O8 s% l* z可选参数介绍:; a- G: h% y1 s
共有两个参数,每次只能使用其中的一个。2 R2 P: t+ g9 Z3 r
1.过滤(Filter)) c$ v/ x, Q! X7 _
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
! |( L% C# b, K: x2 A8 b可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
/ ^7 `) K4 H/ `; h' T5 V! {* e" }# [ 00000001 -- Time/ C% P4 X# q9 U4 a* x
00000002 -- Query! t% }5 l2 Q D; E& P; k
00000004 -- Query2
1 g; s7 w0 S0 M( f% D9 M 00000008 -- Recurse
0 u5 ?8 @# n% j5 V+ y) c/ Z 00000010 -- Master, D, O4 u0 ]( Z! R; B' k
00000020 -- Secondary
% l0 k/ x: l1 c2 Q7 W9 i; u 00000040 -- Wins
" }& A, p/ {% m, |2 ? 00000100 -- Update5 i! T; t' P. F. b# }& K, m, P
00000200 -- SkwanSec8 f3 b. h% V9 D+ a2 l% k6 m; J" Y1 E; i
00000400 -- Ds6 Q) c* d+ p$ u) M1 U& u9 `+ m: Y
00010000 -- Memory I( Z: B/ `- C. B7 z
00100000 -- PacketMem
/ K A. v9 r8 P2 l2 S+ Y 00040000 -- Dbase+ a ?- K" h% K8 z8 Y# U1 E
00080000 -- Records
- s# F5 z8 K% X0 {0 u. J% p% | 00200000 -- NbstatMem7 h' Y. n' q* D1 W, N
2.清除 /Clear
' r8 f5 [ v6 k9 D0 `/ B 这个参数用来清除统计信息。
5 B7 C, l% @5 |. t( r 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
. `. O0 {! D/ z* S/ K) R
$ Z( x) n# b s& E: T8 h/ G
$ g* E# R/ V9 i3 s" K3 L$ G: J/ W0 H0 w H7 \( d& ?
|