本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。, H3 z7 M1 G1 D' k" _& k: `$ c
命令: /Info ) R/ r, v0 w/ |
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
* }- K1 y5 z# O& v 用法:4 e! y2 B4 s6 ?; ~) H6 P
dnscmd ServerName /Info [Property] ( A# Q) N- c. ?; \
参数:
: ?: r2 q" U M) n8 t# ^ ServerName , w" k. a! S" b( T8 |4 C
服务器名称在上一篇中已经介绍过,此处省略。
. n1 n2 i& E5 K3 b+ k9 Q( D [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。. u9 R: T1 v) I' |& C
下面是该命令使用的一个比较完整的例子:2 F6 Q3 H7 C& f; w
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
. w# x9 @% M7 \7 w/ O3 D8 hdnscmd 172.16.12.1 /info 只使用命令而不使用参数* X: K7 Q* z$ w1 d$ K G8 q! h& U8 O
输出的信息:
8 W3 A: P- _9 y5 k. A1 U: \* nDNS Server 172.16.12.1 Information:% `! ]; o/ C3 l) Z) y- a9 F
C:\>dnscmd 172.16.12.1 /info
5 {: y9 U" L! b/ W6 f0 R/ kQuery result: 查询结果
" Q4 T! `" l/ m# \7 x/ eServer info: 服务器信息- a. _, z- Y$ @; J
ptr = 00074718 端口
; a' N0 @& d, S1 V; `1 M7 S server name = myserver.microsoft.com 服务器名称; r [" G e1 I+ Z. x9 }' V% |
version = C2000005 版本
3 }) h" r' F- o DS container = c DS“容器”
, J. c: M1 P: ^7 @ Configuration: 配置信息 这些信息的含义请参考有关资料
" b% {3 R9 ]/ z9 q: o6 P5 H9 K& n dwLogLevel = 00000000
) f& d" ^. \; ~4 ]- a, B* C: N/ p dwDebugLevel = 00000000
: c. \- i3 I2 Y3 z. v. | dwRpcProtocol = FFFFFFFF
4 A( {$ o+ \" m: E0 h1 B dwNameCheckFlag = 00000002
6 w7 H0 {0 {9 U4 s) S cAddressAnswerLimit = 0
7 i v: x! D4 u4 h5 O6 n8 k dwRecursionRetry = 3( A% z7 N2 Q. ]8 p' G1 {" f
dwRecursionTimeout = 15
; `: c d7 {' P, X( _ dwDsPollingInterval = 300
+ i8 r, r& q- z+ X Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
V# e$ i% z. Z( s$ R5 jfBootMethod = 3 " `. i" |4 D& }, P
fAdminConfigured = 1
2 T. E- Q P" d. g, G# |fAllowUpdate = 1
% o3 y, l4 v& O- ]fDsAvailable = 1
% \) i3 T. v# E" E: z" IfAutoReverseZones = 1 4 e0 f8 p2 s, \: T2 I, ~
fAutoCacheUpdate = 0 / L4 D5 w! D" R9 e+ E1 m1 C
fSlave = 0 * o y; q8 i* V% v4 S n
fNoRecursion = 0
, X) }4 _% t3 l; x7 _, w6 @fRoundRobin = 1
( u2 z- N/ N& U" [7 PfLocalNetPriority = 1
& v" g4 F% L$ T ^fStrictFileParsing = 0
6 Q b( P4 P* v8 T: z9 NfLooseWildcarding = 0
) F3 f( n' `- b; J' h$ L. o" GfBindSecondaries = 1
5 k& V' i. V. z, B% w% l4 zfWriteAuthorityNs = 0 ; m/ e1 z0 D; F7 O
Aging Configuration: / g! u5 X9 J0 I' M3 L3 p/ M
ScavengingInterval = 0
* ^# q" a% _* ^% p" GDefaultAgingState = 0
: \! f) N+ o' p% m1 W) xDefaultRefreshInterval = 168
7 i6 Q5 Y: O$ cDefaultNoRefreshInterval = 168
. Z" @& L) H; X$ ]$ L9 a ServerAddresses:
6 E) o0 O: l0 H0 z+ O y! b Addr Count = 1% d( f, ~7 S% o- L4 c
Addr[0] => 172.16.12.1
% C" f6 F' `6 A8 a ListenAddresses:
& o; M) K& U6 A9 c& i: R" S NULL IP Array.
9 p: r* {( D( G, i1 n& R" Z5 C# v Forwarders:
4 v; J( A a8 _' n7 z, S Addr Count = 1" }8 x: |4 d9 o8 p
Addr[0] => 172.16.4.3, ?7 e" k* p0 j
forward timeout = 5
1 o4 w# u5 P3 Q+ Y8 E& P; K6 w1 L0 G slave = 0& i1 r( t, [3 ?/ m N+ l
Command completed successfully.命令顺利执行完毕 " e3 J4 Y0 @8 ]9 Z @) z) |# S
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
Y: K1 f) ]0 I' z4 Q. H& i& y4 s 命令:/Config
1 Z, [, u, n7 W0 b- o1 W 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。$ w) Y5 _; f) b
! d6 t9 p- z5 n
用法:$ d5 y6 R1 c: J
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value0 ~1 D+ [6 B3 Q
参数
% i+ S6 `! u3 ? ServerName :服务器名称,意义同上 0 S9 y& z2 m/ S7 a
ZoneName:& `3 J$ p' n9 l T6 Z
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
8 ?* Q; |: ^ d: q Property: 9 ?4 L p8 Y8 U: i$ Z/ e
这个参数是属性。这里所说的属性有:' d. \' N6 F( G9 a! L! |2 i5 f
与服务器有关的属性:例如:& B, g0 f, {' b
/EnableRegistryBoot
4 e V/ }6 {5 }. W: z+ r' n/RpcProtocol
8 G7 p% M9 Y* }9 s# g9 T" o/LogLevel
& n4 U. E1 o h/ P/EventlogLevel 等等 (限于篇幅未能全部列出)
" o0 y. S! P7 v与Zone 有关的属性,例如:
7 q- D4 f1 A1 u s/ B: j7 p9 e/ V1 g /SecureSecondaries3 a2 H8 G0 Y4 A
/AllowUpdate
! u# H4 M" K8 a9 ? /Aging
@$ y$ U7 s0 b/ M6 G/ S( } /RefreshInterval Value
$ M" J1 O- Y1 J6 K/ L8 S /NoRefreshInterval Value
, W# v3 k8 [$ y& C. k- z 属性值:
% d2 S6 y8 b# t* K: b# N4 b# x 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。7 Z4 h, B1 J A/ Q3 P7 m/ M, g( ]
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
+ X+ E( k- n/ Z' z7 } 命令: /Statistics
K* s- J2 g+ g% F8 O0 s 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。+ g f& a7 _: O+ U! Y* E: L
用法:4 c8 X% [1 I7 D1 b3 Q X
dnscmd ServerName /Statistics [Filter|/Clear]% H9 |( v6 r7 ~' H& H3 o
参数:; c$ _! A: ~1 q9 H) W6 S p5 o) r0 }
ServerName - o' Q; _$ [( n8 j) S; d3 L9 B. Y
服务器名称,含义同上。
7 V. o% K1 X' X* V( k: _可选参数介绍:
: ], E7 y0 F2 @: F1 n. y0 q. X" D共有两个参数,每次只能使用其中的一个。, `) [, _0 d$ d6 \5 ~) `0 q
1.过滤(Filter)
2 e1 E8 X8 ]4 I9 g 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
; M/ X. r* N. h1 h3 p可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ' e% o/ y( C2 e" V5 [
00000001 -- Time& e v; [1 F- I, \$ Y! o+ r
00000002 -- Query5 f9 S4 G+ J7 H' r
00000004 -- Query2
# Q. Q; h ~# Y# D R8 w& t8 ]% j) l: [ 00000008 -- Recurse* r6 D: g/ @- a0 b1 D& V% \- ~
00000010 -- Master+ k6 @3 {. N, t
00000020 -- Secondary. y) l" t/ D+ w) P( F
00000040 -- Wins ~0 M- ?7 t, E h
00000100 -- Update
7 Z& r: g5 u" y9 K. f9 C' U j 00000200 -- SkwanSec6 V6 R1 G; D' k, T- V
00000400 -- Ds
/ c; }# q- v1 H8 f 00010000 -- Memory- a2 I- @* K: Z. v, \
00100000 -- PacketMem- `$ `$ [5 n/ p3 G3 |
00040000 -- Dbase
, O8 A/ _6 d# k3 Q/ |3 i5 {0 H+ a) V 00080000 -- Records2 U4 Q+ h2 M+ o% D1 G! @
00200000 -- NbstatMem7 Q" {8 h5 t0 Q7 Z2 s8 E
2.清除 /Clear : v; U; ?3 M% N& g
这个参数用来清除统计信息。
" e% M- N! G# g. g0 m 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。" z: `, V2 `/ ]& N! r* ^
; U$ ^ u2 D8 X# A
4 {' c" ~5 x; |# s$ I' d) w7 x! |8 [1 ~) @
|