本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。& B. ~( j; E! R; M+ F0 \
命令: /Info
0 @) u0 e! P& i2 Z3 S8 \% C/ I 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。/ ~3 f ^3 `5 R
用法:
2 T" G1 w" H2 V8 R) l3 j dnscmd ServerName /Info [Property] ; t& [1 _/ u- v' \! r5 }* T+ p: S
参数:
; m$ Y, w8 P) C9 ^% T ServerName
}2 s! V2 ~7 w6 ~5 G 服务器名称在上一篇中已经介绍过,此处省略。
' h- M' h# c" W1 x0 G$ Z7 k' Z E; c [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。3 K% n5 O5 W u& X" a9 g0 N
下面是该命令使用的一个比较完整的例子:, @) R7 K3 n9 X0 o
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:. d! B4 s' |: M _9 h5 p( R
dnscmd 172.16.12.1 /info 只使用命令而不使用参数- E8 y8 T5 Q) [; I
输出的信息:
4 \( {' Z3 Y5 `* o0 z( n/ gDNS Server 172.16.12.1 Information:
2 k# g9 K* F q0 S- r2 oC:\>dnscmd 172.16.12.1 /info! N& y. N4 Y) b' x, Z& x; p/ b$ `
Query result: 查询结果/ V- y; s6 Y$ X ?" u9 @! J2 d, \3 N
Server info: 服务器信息
9 D H. K6 ?/ Z ptr = 00074718 端口9 I/ r. n5 i& B
server name = myserver.microsoft.com 服务器名称
4 t) u; i* d( E) @# Q" D' y version = C2000005 版本
6 h3 o& D) b3 r U! z DS container = c DS“容器”
. N6 k) e/ ~, p6 H4 C" D; Z Configuration: 配置信息 这些信息的含义请参考有关资料& ^4 V, p- ?5 C5 X8 D3 g4 c+ O- t
dwLogLevel = 00000000
" X: N+ x7 S! p. t dwDebugLevel = 00000000- n2 y: c) K( k2 E N4 m7 Y
dwRpcProtocol = FFFFFFFF
3 b5 I. }: s; p2 Z dwNameCheckFlag = 00000002
4 N# C5 C0 S% i; F% }$ L* I9 Q cAddressAnswerLimit = 0
) D! J( @3 X3 E8 C, [0 F dwRecursionRetry = 3 Z$ [* c W1 Q- z$ A% _9 J6 F
dwRecursionTimeout = 156 u; z# ?( _( E# l( v* z
dwDsPollingInterval = 300
( @( w/ k# ~7 _- k* D& D/ a4 \; ^; `1 U Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
6 W& B* d, P! Z+ Y& W/ NfBootMethod = 3 ( K* G a/ S7 j Z5 q* S7 m. W
fAdminConfigured = 1 " W( I' W% b7 b! M+ q0 ~7 ^( N
fAllowUpdate = 1
8 k8 ~; q+ @" ~2 ?( u$ g% sfDsAvailable = 1 2 t d( G! y' ?3 M) x5 t6 L/ d) Z
fAutoReverseZones = 1 , _2 n4 ` X" g# T& K( y
fAutoCacheUpdate = 0
" V6 i, b# ^$ L! q0 kfSlave = 0 3 i5 [7 H" V l1 e! Y' _
fNoRecursion = 0
3 F- X4 U0 x6 ifRoundRobin = 1
: c% t! d4 w% t5 v, `3 J4 W& Y& S% sfLocalNetPriority = 1 # v7 u& q9 s8 G L# m# D
fStrictFileParsing = 0
& a6 ~5 x1 n) Q( ^% v- W# I9 XfLooseWildcarding = 0
$ b' H+ F5 K; A9 r: h- T2 D6 f- AfBindSecondaries = 1
2 @" T: m3 }, {* p5 n% \4 U tfWriteAuthorityNs = 0 4 D, I# u) h& a0 s! L2 \% n# |4 A
Aging Configuration: 2 `+ F0 G7 y4 j4 f" q6 S
ScavengingInterval = 0
7 u/ z+ v3 r+ v# tDefaultAgingState = 0 2 Y4 I8 T( u0 m. m5 z
DefaultRefreshInterval = 168 ( n( m$ c% E9 A
DefaultNoRefreshInterval = 168 7 ], ?, S$ T% b4 {
ServerAddresses:
+ N% R5 Y! o( z# T/ h$ I' n Addr Count = 19 b; s6 m% v" X& p
Addr[0] => 172.16.12.1
+ t7 C B4 t+ g ListenAddresses:, ~9 O) t4 T5 n
NULL IP Array.
* W" @" [ I" F: |! M+ V Forwarders:
' I6 G: |- Q$ X+ H9 u3 D9 F Addr Count = 1$ N4 u( O9 [. e6 o
Addr[0] => 172.16.4.3
* L- k9 j: w9 O5 P- [6 {; X forward timeout = 55 S) }; b" M' J N% {: E
slave = 0
8 e" {; i- i& rCommand completed successfully.命令顺利执行完毕
. W7 O- V6 {, ` 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 $ l& K; n9 [) r: J F3 d
命令:/Config2 [/ _# j! B6 |6 O3 W
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
$ F5 c- B9 N4 O" t( H2 Z/ n
6 }! Q& P6 b# G7 F# r" S# E, j 用法:- ?* K% f1 i( ?4 P6 ?# j
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value3 P" b7 E2 J- Y6 P
参数
+ L3 h* [1 S |" {5 T5 [' g+ ~1 ? ServerName :服务器名称,意义同上
: S0 Y$ l; Y9 s& L# [ ZoneName:) n# ]( }4 b% H
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 - f l6 c+ {( s1 R t+ g# h/ f* E
Property: 2 u' U* v& A7 ]3 O" O* y8 M, _
这个参数是属性。这里所说的属性有:1 {* ^1 }$ G7 X: |! V
与服务器有关的属性:例如:
2 |* [8 [2 x1 T7 P( b$ T6 Q/EnableRegistryBoot/ m- e4 a2 ]. j; H6 L( I
/RpcProtocol
( G5 F& `% i: L8 J! x* } M [- S& c/LogLevel1 ~' V$ D/ {4 Y* ?4 q$ G& P6 j
/EventlogLevel 等等 (限于篇幅未能全部列出)
2 M2 U. w0 ]1 q5 Z% ?/ {, }( L与Zone 有关的属性,例如:
5 c9 K* g7 Y; K( y+ m' B' z /SecureSecondaries4 W* G0 z2 e8 y. |& z7 R. ?
/AllowUpdate
. P$ Y+ Z e" M6 x4 u3 B /Aging5 M( S& |% K3 ?$ C. h9 {& K* Q
/RefreshInterval Value0 a$ _! |/ v( m; t" G, F
/NoRefreshInterval Value2 O0 n3 n% k$ h. }& Z: Z" B+ i( ~) s
属性值:* i6 M" L) g; D
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
; ]2 Y) B- C1 K0 [, c& E& z从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
4 K6 r) \1 l) A 命令: /Statistics4 K$ ^% S- F, W5 h, |* W
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。- V- A \& U) ? X% y' O' I8 a
用法:
. X1 |8 T% D# \ w0 Y dnscmd ServerName /Statistics [Filter|/Clear] ]: }5 v2 [1 Y, f9 E
参数:
+ `# F; }, N" |7 t h! P( ?ServerName
2 y4 l$ E$ [, @1 A" ?服务器名称,含义同上。
0 T5 V$ j+ I% u7 R0 u' g可选参数介绍:
) u: N3 ]: r0 n2 m, c" |* N$ R: P共有两个参数,每次只能使用其中的一个。. L: k3 t% x! l- k0 V- c! v1 Z
1.过滤(Filter)
# z H" S. h0 j& P( K* b 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。$ q) P/ p, H4 n7 K% C
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
9 S+ O2 P# Q/ O0 ~2 a$ x8 f 00000001 -- Time0 Q+ p3 k( J$ ~0 M8 j9 c) M, B
00000002 -- Query( O8 s7 i4 m D8 w8 K
00000004 -- Query2
$ u' i5 V% w: O- I% J2 W# x& Z) ?) k9 y 00000008 -- Recurse8 P1 p; j; t8 M7 J# v- X
00000010 -- Master% I7 d5 j. O% }& h
00000020 -- Secondary; V7 V( j- `7 }; k% }7 [7 k5 q8 c
00000040 -- Wins
: G+ o8 p0 `' N: [ 00000100 -- Update
6 X3 T: s: e, G, g6 p2 C; v 00000200 -- SkwanSec2 q+ E5 O# P% r9 U; K2 H2 _
00000400 -- Ds
1 Q) v' G, f) X, [; B 00010000 -- Memory
# R t- V8 m( o& v 00100000 -- PacketMem9 }# _, [5 r# Q9 `
00040000 -- Dbase1 a3 g3 I1 [; z4 z
00080000 -- Records
! u& y. [3 Y5 \! E 00200000 -- NbstatMem
% t5 N8 i( [0 N S8 }" B2 G( V 2.清除 /Clear
+ |# ~ {% e; ?, { 这个参数用来清除统计信息。3 k1 D$ W9 G. q h& a( O$ i
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。% U6 C2 p( k3 b
5 D$ O! u& O+ g; }! u9 W8 z7 I" c
! S3 F* b: x- V, [$ U5 ~) h, h7 d
Y" ~1 ~! W4 Q% T1 L. k' N0 Q |