本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
: q( B& e1 e7 D' `4 { 命令: /Info : I+ l. @: v/ x+ Y
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。: P" S6 y8 `7 R6 d! t, u5 {0 j
用法:& |; W- \: _' P4 d2 K
dnscmd ServerName /Info [Property]
# y7 q2 X0 F1 p. S 参数:
, ]/ K4 O0 u; I# m5 P ServerName
2 z U2 Y' L# p) F 服务器名称在上一篇中已经介绍过,此处省略。
) [* a) |5 N% p1 x S3 D [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。 f1 w1 S7 ]0 U
下面是该命令使用的一个比较完整的例子:& j1 X- X- T* L6 z1 B
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
2 \& W6 X* {1 j. Qdnscmd 172.16.12.1 /info 只使用命令而不使用参数 F! D* r' y5 B" q: e
输出的信息:" f h9 B5 A( Y# K
DNS Server 172.16.12.1 Information:
7 |% C, G3 R. p; |* u) F# GC:\>dnscmd 172.16.12.1 /info
4 j0 `# f( o* e. t# r8 wQuery result: 查询结果
! i& D# _0 I' [0 ~Server info: 服务器信息
% i& s! [) i6 o* R ptr = 00074718 端口
; B: w8 J1 ^8 n: r8 Y5 H# j% Z server name = myserver.microsoft.com 服务器名称
. [5 R7 u3 C. o, ~8 |# o G! W } version = C2000005 版本
3 Y: I0 B6 K1 q" d- U DS container = c DS“容器”
4 n) Z: L! y7 q7 y* d Configuration: 配置信息 这些信息的含义请参考有关资料
( n+ `+ K: ?; J% a" Z! D dwLogLevel = 000000004 B' M# X) K" q
dwDebugLevel = 00000000
, Q* I% N# b0 w: E dwRpcProtocol = FFFFFFFF
Y" ~6 ]+ ^" f5 I; @, q/ W' ?! T dwNameCheckFlag = 00000002
$ K7 s% z, v' Z1 L, m9 J8 ^, E" ? cAddressAnswerLimit = 0
% }: j. @& ]$ t( c dwRecursionRetry = 3 @2 y6 y; J+ ?/ [
dwRecursionTimeout = 15
4 l) |' G- |9 Q% T, ?9 a5 X0 K dwDsPollingInterval = 3008 i E9 I1 F2 A0 z! L
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
4 T9 F/ P/ k2 xfBootMethod = 3
' i+ I N8 S# ffAdminConfigured = 1
( [* [: ^ N7 z6 O1 v3 P% EfAllowUpdate = 1 7 v. n1 v- z7 p6 f6 x$ v
fDsAvailable = 1 : G3 O8 l6 {1 H6 [: V4 B
fAutoReverseZones = 1
4 P$ r+ u( x8 N1 |fAutoCacheUpdate = 0
& v4 ?' g! E; A2 J. O. ]fSlave = 0
! @0 [# g& a6 F5 j' U! U! {fNoRecursion = 0 % c, u0 u2 W# F8 Y, k5 D
fRoundRobin = 1
1 B, r( W. C0 @4 \3 nfLocalNetPriority = 1
2 j- u, X+ W. A$ A. J: qfStrictFileParsing = 0
% O! k) m% N! g$ b& yfLooseWildcarding = 0 : X& g9 W3 ^5 p, r& W
fBindSecondaries = 1 % g9 X3 \/ a- H- ^
fWriteAuthorityNs = 0
; I, f1 u8 T' dAging Configuration:
6 |/ s* Z* ~" O6 V: R2 VScavengingInterval = 0
5 A5 `8 Y( k6 E0 rDefaultAgingState = 0
2 O- b3 f! k/ u2 wDefaultRefreshInterval = 168 6 b6 f& `; k3 w
DefaultNoRefreshInterval = 168
; c) T @& o' `; v. u5 ]- ]+ ] ServerAddresses:
% s! q2 g# x2 x- `# s; B. d Addr Count = 19 c) X& x7 ~5 V/ ~1 ?. A, b& Q
Addr[0] => 172.16.12.1
" Q7 K0 h" G4 O$ U9 N# @! P2 J ListenAddresses:
$ V. Y2 u/ ?0 f; j NULL IP Array.
- l g b; ]6 r* \5 {8 l Forwarders: R' }4 _( m; ^/ n- D7 I
Addr Count = 15 H. S1 N% F4 P6 k' n, p
Addr[0] => 172.16.4.3
2 N |; Z6 A$ N. Q4 _. t7 z forward timeout = 5
5 g, f4 Z* }+ f: z8 C slave = 0
+ V8 ~. A" ~6 I: a/ U% o, ^3 lCommand completed successfully.命令顺利执行完毕
, N L4 S0 h6 k/ C: p: z, w 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
7 \' O9 i! G9 b! l: c2 {$ a# K! \: w 命令:/Config) v: v; [, j" x# d
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。7 Y# [& J8 t4 C5 e$ [' P( k
* N/ w0 O2 F+ G& S6 [5 e 用法:
4 v# M6 ~7 g$ d* p2 ]. S dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
& B! ~' q5 R2 {, W) N; N; K 参数& G' s9 B" j7 C3 D) I5 Q2 i
ServerName :服务器名称,意义同上
: i) L. C, ^1 U) M ZoneName:1 I" g0 r4 }% l. O1 m1 I
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
0 N$ t: B; m4 y/ l* ^$ ^8 w Property:
- O; w9 _# M6 Y$ M+ _5 N7 f3 X+ C0 n 这个参数是属性。这里所说的属性有:/ A$ `# \( m, M8 l
与服务器有关的属性:例如:
* _0 _+ Q1 o+ z6 Z' m; s# ?/EnableRegistryBoot1 A9 S3 Y& S! e7 _
/RpcProtocol9 H: s, S/ X& M' \) P4 a( y9 t4 T1 E
/LogLevel8 {% e4 \$ r* v2 S( u1 S# S8 `0 |' W
/EventlogLevel 等等 (限于篇幅未能全部列出)
. R: e$ Z4 k. F5 U& w# E0 U与Zone 有关的属性,例如:: g4 Q3 @/ J/ ^6 _( D
/SecureSecondaries) I+ \; O6 N1 m# c: E2 N! B- t
/AllowUpdate
: z5 V2 E9 j" ~* J1 k /Aging
2 `" a/ ^( w$ \( x /RefreshInterval Value
' H! |$ x4 u) ~, G! U% ~! } /NoRefreshInterval Value; s' y9 c3 P C
属性值:! D. z/ n3 ]' R! `* b% q
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。 h# \" ]8 o. Z
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
5 M5 r( h' W8 d3 `2 F 命令: /Statistics
: I# A1 `' Q' ]! ?3 V 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。( N0 y9 \, Q, G- u% _. a
用法:' |2 }" h& C- Z3 t0 f
dnscmd ServerName /Statistics [Filter|/Clear]
7 M9 \/ z* T. z; n7 D8 E 参数:
5 t6 b3 |2 B3 p3 p$ b, Q" \ServerName / W, z$ N! f! g1 L) W& @3 k
服务器名称,含义同上。
) E- v% @( T8 C! [8 j% f( h; y可选参数介绍:
" g: Y7 s3 {7 V* k, C# u, H共有两个参数,每次只能使用其中的一个。! P8 V4 y1 }8 z D6 D4 `% \
1.过滤(Filter)
4 e: H y( w" E 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。& }/ t7 h$ h6 y' Y) I2 O+ U
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
8 i7 E/ a7 p7 O8 ^ 00000001 -- Time
7 [ G; g9 A8 [0 x! z 00000002 -- Query
6 c, J$ v3 ?' y5 z/ j, a5 L 00000004 -- Query2
Q! E6 ~! ]* V 00000008 -- Recurse
' ~, z9 y$ _2 b3 Z 00000010 -- Master4 A8 V, F- }2 z9 n# }% b
00000020 -- Secondary
8 K; N$ Z% J* p* j: z5 W( u 00000040 -- Wins
! }" f+ `5 g, a9 ~: r6 A 00000100 -- Update
0 L; E! ^ T& a' ]3 L 00000200 -- SkwanSec
( v: Z4 D, \7 T9 d) i0 T 00000400 -- Ds
1 U9 V# |0 h6 G7 a% T 00010000 -- Memory. y8 P& @: E# P4 m6 i' S
00100000 -- PacketMem( `- W% ?# m. {& u0 x5 I* \
00040000 -- Dbase' {% s, ^: s% u6 o" y5 ]
00080000 -- Records& W t: ?$ t2 a2 z: h! ^
00200000 -- NbstatMem2 ?- c6 @, B. m& L" f4 t( S; h
2.清除 /Clear ; \4 a6 {/ E9 R4 x& S) w6 I$ \
这个参数用来清除统计信息。' O8 k4 u2 S' ~: |
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
) t. d, N" _# O+ e- G# W7 T8 L X3 e" l; H+ I
" G2 A! o3 {" X% X. M
' ?& d4 b+ G( _% K: v+ h, y3 G) Y |