本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
2 R# B. x& \! Y1 M$ ?( E; [ 命令: /Info 1 g' u9 C0 c* Z/ r
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。2 S' g; m8 c, Z) d7 u& Q; c) X) v
用法:! d! j" @* _7 a/ Y6 g Y- b8 I1 R! t
dnscmd ServerName /Info [Property]
# [7 N9 c& E) R0 {# l% V 参数:& f4 Z6 u# v0 R* S3 G1 p
ServerName
: S ~) i" n3 m" ` 服务器名称在上一篇中已经介绍过,此处省略。 ! ]/ A# h4 i7 P" n& t. o9 P0 _
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
' A0 p; y- U, Y' R2 l' P 下面是该命令使用的一个比较完整的例子:
4 h3 e% M- e( j2 Q) I2 N& k 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:6 Q" @8 H, y3 T) {" L, P# Q
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
' z' k% W n1 p9 Z输出的信息:
$ [; C' G9 w2 dDNS Server 172.16.12.1 Information:, I2 u0 E5 z% }* c
C:\>dnscmd 172.16.12.1 /info
* i! f1 q1 l4 e. K& [$ l6 s ~Query result: 查询结果# k/ H8 e' I7 j, ^' g# B- }
Server info: 服务器信息+ ~2 H8 `# N6 L# i$ z5 L
ptr = 00074718 端口5 W5 `- P4 d" s0 h: |+ t+ h
server name = myserver.microsoft.com 服务器名称
* n' v/ ]0 {+ m$ z1 }9 H6 ^: M version = C2000005 版本. a4 N7 ^6 }! v& g4 k: [; p N
DS container = c DS“容器”
, D! a0 D m. G) r Configuration: 配置信息 这些信息的含义请参考有关资料: Z$ G4 F5 @0 W( z& C+ v
dwLogLevel = 00000000. A$ W ?" N& b
dwDebugLevel = 000000004 e m* W6 k1 ?2 t
dwRpcProtocol = FFFFFFFF* J% @: s- R. ?7 X: h
dwNameCheckFlag = 00000002
# P" }. X- R3 |$ r cAddressAnswerLimit = 0
0 h0 t: u* s; I* E dwRecursionRetry = 39 f/ Y) y& e# w
dwRecursionTimeout = 15
6 h( V- U! b+ Q! `, o5 N+ d5 j dwDsPollingInterval = 300/ f& u0 I' S! s0 k/ `6 t( r2 P, i7 y& {
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
) J$ @) v7 F5 v& DfBootMethod = 3
0 ~3 S# P5 O3 R! }$ ~fAdminConfigured = 1
8 d- I" F" b: ?; K# CfAllowUpdate = 1 1 ^; _& K7 J3 S8 A
fDsAvailable = 1 4 u9 h" ~1 h) d3 `- E
fAutoReverseZones = 1
! [7 z6 k9 [) v3 z T2 M |fAutoCacheUpdate = 0 ) [3 Y$ B8 {1 i
fSlave = 0 6 e' U, `0 p: t4 x( X$ Z7 j
fNoRecursion = 0
1 m: E/ h! t( `) V- R! r# U+ |fRoundRobin = 1
1 D' H3 }# v3 [- z# ufLocalNetPriority = 1 - D; i9 T8 e/ [3 F5 V. v, X4 C
fStrictFileParsing = 0 + x0 Y- i% [7 F& O4 |( c
fLooseWildcarding = 0 - x6 a4 ?( L h* K, F( H
fBindSecondaries = 1 # r9 n7 [ @2 U/ X6 A* n& m1 y/ r
fWriteAuthorityNs = 0 % \2 K+ V1 f0 p; V8 z$ k
Aging Configuration: . `* R) F: n7 U) X. s2 [0 o
ScavengingInterval = 0 9 }# T; Z8 m5 q% O
DefaultAgingState = 0
# C# h' W- d8 N7 Z( e8 ?) }! w, o( QDefaultRefreshInterval = 168
% h( t9 w* `9 a% ~$ R9 H1 ODefaultNoRefreshInterval = 168
! ~ A0 [4 t1 L4 h2 C* ]6 q ServerAddresses:
0 U& }; K7 e5 o3 Z0 }; h1 d6 R0 U Addr Count = 1
+ i* H/ e( k8 V/ a' B- J+ r2 P. ` Addr[0] => 172.16.12.1
, A: U2 E4 |; Z, `3 [3 g ListenAddresses:6 I6 [0 f6 E+ c
NULL IP Array.. B/ ~0 h8 d- j/ w% {( S
Forwarders:: a1 Q5 B6 U/ _# O
Addr Count = 1
$ u* c' Z) b P ^7 u4 c9 p Addr[0] => 172.16.4.3" n, {9 P% t# v4 \- [2 p! D, }
forward timeout = 5
# Z, G1 Q5 v' r slave = 0
4 g M, Y X4 KCommand completed successfully.命令顺利执行完毕 ) H2 b* u7 d7 a, P' Y9 J8 O! m* L
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
+ l4 K& f3 [- l) } 命令:/Config
3 D K6 F/ M! k, | v6 e 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
4 V* t. I7 X6 X8 d. L) R( O+ F( O8 b6 r" m% \! V K
用法:( I/ ^3 [; { F
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
l5 z0 R k+ M9 i 参数; E+ T3 [3 `- r
ServerName :服务器名称,意义同上
2 m4 c! Y1 l/ v% `% s- | ZoneName:( a3 V# N& ~' P
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 8 [* w1 G$ `0 j4 _# n( {. W6 B
Property: + A- x, P; h4 y$ g3 J1 I) U( Y
这个参数是属性。这里所说的属性有:
9 F; i/ B# r$ d2 A! u" g6 i/ D 与服务器有关的属性:例如:# R' H1 [0 [. ]5 H- k/ `( z
/EnableRegistryBoot
/ p9 u9 M5 s1 O2 M1 b0 d* e' T% C4 a5 ~/RpcProtocol0 c1 `; e+ N3 H4 a# ]
/LogLevel. {$ H+ U: { g6 o; ^# U$ k
/EventlogLevel 等等 (限于篇幅未能全部列出)
/ N: K/ _6 Q& W, M2 X与Zone 有关的属性,例如:& k% d8 m v: b* n/ m
/SecureSecondaries0 ~# R( ]5 m/ Y# [0 w5 a# `: g$ `
/AllowUpdate* V& G6 m7 Y( o/ @4 c# r0 U# b. A
/Aging# ]+ u, \. O4 e
/RefreshInterval Value
6 K; h1 t' {- `* \- q) \ /NoRefreshInterval Value8 b) n( S. ? r o# \
属性值:
. m+ F2 N* b I: {3 l$ R 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。7 L- T- t" T& D
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
5 G7 a( n# a1 B* D. _% h2 ~ 命令: /Statistics( ]- l4 I" N3 Y" l$ }' F
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。6 b, k J, @9 k8 F/ R
用法:" m7 K) Y \- b1 W8 g$ W( A
dnscmd ServerName /Statistics [Filter|/Clear]+ V3 @! K% V: q2 ]
参数:
1 P$ t8 j% Q& I7 OServerName 1 _3 q+ P! }7 {' {; O9 v
服务器名称,含义同上。: [1 D" U9 {- ^7 u$ D7 }
可选参数介绍:9 L# @2 s/ [( b1 U; a9 c, c2 B; b
共有两个参数,每次只能使用其中的一个。. X R6 x3 f1 k% Q" n& P% p
1.过滤(Filter)- D y8 ^% W, o
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。8 M/ I9 \. a7 G; N a% V
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
% q- c3 |+ Q) i3 k 00000001 -- Time
9 h7 u& B& U) B3 v9 ` X6 Z 00000002 -- Query
: y# t& e1 [' {# p3 T2 a 00000004 -- Query2
& e' f7 M3 R, n5 g0 X3 P7 o" q3 ^/ ] 00000008 -- Recurse9 @! P. [0 z; E/ M5 v' y
00000010 -- Master, I2 E3 T5 L5 T" S* U- a' o
00000020 -- Secondary
! Z5 T1 k. q) E 00000040 -- Wins
& ]/ }4 T7 k/ Q, n2 s$ b! \& U4 Z 00000100 -- Update
, G- r0 \4 t0 \3 D/ k 00000200 -- SkwanSec5 u2 e& O" ^3 K7 X! V' q) I
00000400 -- Ds
1 t0 N7 e; v5 d7 e% I 00010000 -- Memory
; D! K( W# ^3 d 00100000 -- PacketMem' I7 o! V: R+ W$ J. s( x# _! s. A/ ]
00040000 -- Dbase! G9 X o3 G# B3 f
00080000 -- Records7 s/ @7 s0 {/ `% R" g* V
00200000 -- NbstatMem5 ] Q% u; v/ k0 s$ j, }8 r
2.清除 /Clear / N, _9 \6 c9 Z6 I8 @ H
这个参数用来清除统计信息。$ e# k& W1 `+ P' L4 Y! ~: M
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。3 m9 I" O% m4 ^! T
5 z9 J/ a5 l+ x. u% S% {7 @1 k
3 P- y* S1 f1 e2 `- Z
4 m" M/ J% F. Q% o |