本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
! V) X' H. A. H. T s' O. D 命令: /Info
# J! T- t0 S7 Z4 R, w 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。* y& g6 j4 m! a. `8 G
用法: x# M7 R8 d: H* Q
dnscmd ServerName /Info [Property]
9 |5 L+ K" u) o 参数:
4 Z0 ], S0 o; |! R: D ServerName
/ r3 p8 r. d( [' s! c1 Q% \% H 服务器名称在上一篇中已经介绍过,此处省略。 6 r( [$ O) f+ h8 N
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
! x) Q# b* C) ~4 N 下面是该命令使用的一个比较完整的例子:) L; Z9 j8 u: V0 V" `" k" i
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:) ~% m' V+ w! j* X7 j! [3 @7 N
dnscmd 172.16.12.1 /info 只使用命令而不使用参数8 _1 S! L- k, E+ N+ P
输出的信息:
. A# c8 n J1 {+ V: @' r# F, b v$ HDNS Server 172.16.12.1 Information:
9 I( N5 p$ L' [7 w) Z3 @C:\>dnscmd 172.16.12.1 /info
E; E4 @) X/ r$ ~1 ?" wQuery result: 查询结果
9 Q9 T/ A) t( A2 J! vServer info: 服务器信息# t% ~/ o# |* D, |8 X W" h
ptr = 00074718 端口8 V) [5 |8 u7 p2 h1 S+ _
server name = myserver.microsoft.com 服务器名称! d% e! R1 ]4 ]! p
version = C2000005 版本6 \4 ^1 n! `! o; V3 Y
DS container = c DS“容器”- G0 F6 O9 c( b# o8 w* N
Configuration: 配置信息 这些信息的含义请参考有关资料8 b+ y5 A$ C+ Y6 z: }
dwLogLevel = 00000000
- Y+ m5 z: t7 u1 Q2 i dwDebugLevel = 00000000
, h" d! V* c: E7 Q u; G* W dwRpcProtocol = FFFFFFFF- `$ x$ F" c" Y1 p6 I
dwNameCheckFlag = 00000002" q( h+ P! v2 n# a2 P: _" h( I
cAddressAnswerLimit = 0/ k7 n3 C9 i& f" X* @8 s
dwRecursionRetry = 3
1 b0 a- T, d( w. @4 h- Z L dwRecursionTimeout = 15
% S' C& j8 K( `7 Y5 ? dwDsPollingInterval = 300
/ J" ?3 \( N8 c; b2 F* V& K0 D$ z Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料9 ]1 \3 Y1 o* V/ G: h# c, w2 F
fBootMethod = 3
) t. a3 F6 z4 RfAdminConfigured = 1
; d6 ]5 Z2 K( n5 h7 O4 n( ]$ s4 @) S/ efAllowUpdate = 1 ) I: e; j9 [+ Z9 g# R
fDsAvailable = 1 # E5 S+ V% o9 t! P. c E% s" P: M
fAutoReverseZones = 1 , ]% |/ N! }4 V
fAutoCacheUpdate = 0
/ M: u* L% d$ n* `: e; jfSlave = 0 " N9 f% [: p* Y3 ?! {# ~
fNoRecursion = 0 : v/ l" F% f! D% |- S5 o. X
fRoundRobin = 1
$ n1 g; N( G) I" QfLocalNetPriority = 1 / t6 v8 ~" q& m
fStrictFileParsing = 0
: b. k7 `# m/ D' Q, ?8 q5 kfLooseWildcarding = 0
8 h" k4 {' \9 X4 jfBindSecondaries = 1 # j9 r; Q X& C0 u
fWriteAuthorityNs = 0 ( z; R; \$ D0 E# I
Aging Configuration:
+ ]2 ~& M" d! xScavengingInterval = 0
: O# S, S! c, P; |8 }DefaultAgingState = 0
a( x) t. A$ L# H6 ]DefaultRefreshInterval = 168 : k! z! v, V0 J) q
DefaultNoRefreshInterval = 168 # I8 A- [6 B u7 m! a5 ]/ g0 O! `
ServerAddresses:
6 z: f6 l! T( n Addr Count = 1
) \5 P/ @' q4 e' I# m9 A Addr[0] => 172.16.12.1% S, j" g j8 p' @# R' O
ListenAddresses:% w- {% @& ?: B6 k2 {$ c
NULL IP Array.
; u; r+ ?+ i& p# F9 r Forwarders:. {6 N3 E3 f4 Y. W) i
Addr Count = 1
. Q5 h4 [+ P: z) c5 ^ Addr[0] => 172.16.4.3
6 e/ c7 z) j/ i forward timeout = 5. p# b: q; K8 W+ B V9 s0 k; \- g
slave = 0
+ O- {; Y2 D/ C n" U BCommand completed successfully.命令顺利执行完毕 0 W/ ]- P- g7 [
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 0 ?/ y- F( [2 o3 @+ _
命令:/Config
* ]5 o$ n, F0 z" s- `- ? 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
. `' n& T' L, P6 a! l
. h( } H) i8 H, O$ R3 r; Y 用法:
! a- D y: W# b( r% Q; u dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
# h- \8 [5 S X+ H1 c4 V. f 参数. ^" J' Z" {+ X/ t
ServerName :服务器名称,意义同上
+ a5 ]& s/ g5 X4 M2 ^. R1 c. l/ D4 G ZoneName:
2 B7 \9 X J. d" d2 E 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 & z, i I( P/ H6 [) n
Property:
1 j- q! p( o! L5 O 这个参数是属性。这里所说的属性有:
2 s$ J _! B" x 与服务器有关的属性:例如:
! E" H* p' ]6 P% X9 u0 s w/EnableRegistryBoot6 j9 v1 D" f* T5 E8 G( g1 t* s( R( H
/RpcProtocol$ ?2 Z/ b: x0 ~& C! t
/LogLevel, t/ C: ]5 \3 l/ S7 _$ T
/EventlogLevel 等等 (限于篇幅未能全部列出)- B6 H* m1 I% u: q* o
与Zone 有关的属性,例如:4 q0 y( H. g! Y; I( o! c
/SecureSecondaries l# G5 E: g" P) G& R- e0 \
/AllowUpdate7 T- T7 B( E/ k: k# q0 ?3 Z: u3 m
/Aging6 d% l8 G9 F4 z7 [
/RefreshInterval Value4 W; M7 U, |; b v; J
/NoRefreshInterval Value
5 j, P5 t7 a9 `% G 属性值:: V+ a6 T: v. F+ f; P: n; P6 N
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。, P4 h/ s1 g& A1 c U
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
& D4 F6 z; n" Z 命令: /Statistics! g8 F* `; e; W/ Y2 O7 @
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
7 z: X, F1 k- | X 用法:8 o/ g7 p1 h+ O1 @6 C
dnscmd ServerName /Statistics [Filter|/Clear]7 b y; Z; L$ K1 T: D
参数:
A( Y6 W( I6 U9 @ServerName
& p4 o5 n7 d3 _- x! Z; u服务器名称,含义同上。0 m9 h3 P3 `2 q/ x1 P, B/ w5 R1 I
可选参数介绍:
7 b S* _% T! Y$ p" u共有两个参数,每次只能使用其中的一个。/ U* R! Y" ?) L: l# f4 ]' c
1.过滤(Filter)
7 E7 F7 O! r& E" V1 A4 c- [ 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
* y; C4 q$ j" N0 v可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: / [ b6 N" ~4 T$ [8 `% C4 w
00000001 -- Time0 K6 o* \% K* E$ r; H2 V+ M- \
00000002 -- Query7 v. ^; i7 S2 {
00000004 -- Query2' H @/ H- v' X) j
00000008 -- Recurse
3 v* |( I1 d+ ~6 J3 N8 b 00000010 -- Master
( d7 O; [! L0 N _ 00000020 -- Secondary
7 f! }& d* r% i2 H7 k/ H" K 00000040 -- Wins+ L! q+ \( W9 y. e4 m
00000100 -- Update! G G1 f* x+ G, S
00000200 -- SkwanSec
$ F8 d! s/ I1 N; q% J: l( w 00000400 -- Ds
4 D; ~$ K% }1 X4 d' G0 G/ a. U 00010000 -- Memory o j$ a" W1 b/ g# _" p$ X
00100000 -- PacketMem
% ]$ ?- b n7 a% u+ b3 T/ b 00040000 -- Dbase X1 P& t5 q, j( x1 S) B
00080000 -- Records: u$ @' ~+ Z" H# F* r O" X: [
00200000 -- NbstatMem
- `% m0 j0 K/ E: s# i: e 2.清除 /Clear
$ j; B# d5 z0 S1 [. r 这个参数用来清除统计信息。# q; }% G$ _+ u8 ]" F# c3 z, h
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。+ g1 x% J3 [5 W
" e0 y7 C; Y: `" s5 [" T 3 ]+ X* C4 m9 | @, E% L
, W+ B$ J- u H |