本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。 l0 {2 u% U2 A+ Z! T T
命令: /Info 1 d7 W( x) u" z# a/ d
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
) y( h' y* V" ?2 D8 y6 n 用法:: y1 m' O( }+ U+ o* M
dnscmd ServerName /Info [Property] 0 t- B0 ]. O8 [! d8 M6 d7 k
参数:
! M5 c" }1 J" t ServerName 5 H: d5 x. m N- Z! H7 K
服务器名称在上一篇中已经介绍过,此处省略。 : N5 W* _% ^( u6 X2 p/ x
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。/ A# O4 I2 K5 q! H$ Y% q/ `
下面是该命令使用的一个比较完整的例子:
+ S6 G& G2 i# _0 P; [3 L 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:% c+ Q- O8 e/ Z/ x; a T
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
7 \2 ~ c% u$ u" i输出的信息:
8 R. @" Y E! I {1 z9 {DNS Server 172.16.12.1 Information:
' x E/ s% m; K" F2 YC:\>dnscmd 172.16.12.1 /info
2 ~" W" ]! z# Z3 lQuery result: 查询结果' l0 |# c7 |$ h, o8 t2 c
Server info: 服务器信息& u! O) w5 H" P* O) l4 {, E3 M
ptr = 00074718 端口
% Q b& r0 b5 G( ]: b7 C server name = myserver.microsoft.com 服务器名称( }, k& r% w' x1 R( J2 v
version = C2000005 版本$ Q9 A: _0 g/ F/ j* L$ r* ]- K
DS container = c DS“容器”
# n% G* ~0 f7 V5 [! J3 @2 b Configuration: 配置信息 这些信息的含义请参考有关资料
/ w& r# D) d8 I; U* g7 X7 `5 N dwLogLevel = 00000000
: r0 r1 O+ R+ q9 ]) _ dwDebugLevel = 000000006 [6 t9 S& B, I! `9 i
dwRpcProtocol = FFFFFFFF
: g% X' o: D1 e! P: k dwNameCheckFlag = 00000002, S! ^" ]! g! ~4 t
cAddressAnswerLimit = 0
- ^+ { V/ N5 r4 j/ p% N dwRecursionRetry = 37 \; |1 t2 x: b8 u
dwRecursionTimeout = 15
* ]" w' ], A: _0 {2 D. m+ p& d9 k/ c dwDsPollingInterval = 300
/ J$ t) y7 W9 a9 Q% M& M Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料# E( j* `& `6 o7 B, C# p* ]
fBootMethod = 3 ) }; l( @/ s8 J1 R; i, j+ ~
fAdminConfigured = 1
. o. K& w' D* \" M: x0 SfAllowUpdate = 1
" q- C9 J7 c4 F" S1 `* K* I. efDsAvailable = 1 8 G* j% z0 B( g' ^
fAutoReverseZones = 1 0 G( { `: M* h
fAutoCacheUpdate = 0
1 _5 N7 \+ U: T) m$ JfSlave = 0
( R" T% X" A" `+ J. A/ [fNoRecursion = 0
$ m$ B8 B) c/ Q; nfRoundRobin = 1
6 V+ P0 e) m5 B7 M" `- }1 `fLocalNetPriority = 1 0 N3 |+ N5 x9 F7 C* V5 h+ _
fStrictFileParsing = 0 . S1 K) \) D. N% p( B; R# ~
fLooseWildcarding = 0
2 I I8 u1 l3 L8 q! T5 p& Q# g) AfBindSecondaries = 1 7 j% `. I) S& h7 @0 l
fWriteAuthorityNs = 0 # T( E( a: s; x* r4 ` _, K
Aging Configuration:
2 d* X0 _7 b- h7 ^) UScavengingInterval = 0
) o% H' ^' d( b( D8 lDefaultAgingState = 0
* u6 n0 l. C+ H+ F: z: k/ ?1 cDefaultRefreshInterval = 168
4 W1 v, j% G7 T$ V2 ^, YDefaultNoRefreshInterval = 168 7 x5 o& c* B+ \0 F9 S8 S. c+ Q
ServerAddresses:
4 l. S; Z- U" L8 Y$ w Addr Count = 1
: C6 ~: ?9 p* t+ t* j( ]) ^ Addr[0] => 172.16.12.17 Q1 y! D/ Y4 Q% C( _
ListenAddresses:' |3 i$ X9 {& p2 A
NULL IP Array.
( a X9 C' V% f$ L W Forwarders:
0 o! S( s! i2 T& ]0 a' r Addr Count = 1+ u% Y3 m: v3 l- a: Z6 [* f. Q1 D; Z
Addr[0] => 172.16.4.3. F* ^3 S# ~9 V
forward timeout = 55 }- L1 L, \4 q K0 G' \
slave = 0
1 r9 j2 B8 B9 h0 c6 I& e* JCommand completed successfully.命令顺利执行完毕
4 g6 ]2 T: J4 H 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
! g1 k, \% h: D) \" ] 命令:/Config
( |" i0 }/ c3 g" ^) ~: G 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。% i$ ^6 l$ j) ~
4 |' L3 ?6 a& [% s% l 用法:2 \# M4 \. [ @
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value/ V K) j3 U& f& ]) {5 G
参数( g1 ?% q: h5 Y
ServerName :服务器名称,意义同上
- B. F1 F& J1 A- E' b ZoneName:
3 [' i- W# K1 V5 R' E/ p8 ? 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 0 Q' A5 ]5 f) Y* A9 Y ~# o
Property:
; x2 q8 R7 x0 B# ~/ b6 f* I 这个参数是属性。这里所说的属性有:
+ Q% N2 ?) }/ g% ?% G 与服务器有关的属性:例如:/ l1 n& b4 g% ?. a* }
/EnableRegistryBoot
# `- ]* Q) A- W1 l) m$ q/RpcProtocol+ R; R9 P7 p, {- r" i3 D8 ?
/LogLevel
9 Y; O6 k3 }2 j' H/EventlogLevel 等等 (限于篇幅未能全部列出)
% C5 Y( T* Z4 W# T9 d7 Z与Zone 有关的属性,例如:
1 `# X1 @) e& b% n* }1 O /SecureSecondaries, O3 a, H5 ?; {& ^9 w
/AllowUpdate
, T* h4 i; W6 l1 v0 L( ^ /Aging
- v8 L9 g/ E- M2 H) O /RefreshInterval Value
! y& p, Q; N; D" j, o /NoRefreshInterval Value/ T- ]: I+ V0 ?, s& o K
属性值:
5 V) \2 ~2 A! Z! X 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
! s$ M/ d% z; ^7 @" G- y2 e O从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
* i! ]) F- k+ L- m1 c9 i& W U 命令: /Statistics
' S& N0 S2 {" p# M+ A 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
7 N* o+ F) j+ M7 c0 P2 j. K5 c U% Y 用法:
2 F7 v7 e7 |$ u( ]7 |/ H dnscmd ServerName /Statistics [Filter|/Clear]
' v& s* _$ ^: l! K: J 参数:4 U5 I' G7 a) n( v
ServerName , E2 X% R) e7 B9 E
服务器名称,含义同上。' m5 z( N- n- t9 d5 @
可选参数介绍:2 S3 v9 T8 q: w9 Q1 [$ T! j
共有两个参数,每次只能使用其中的一个。
- J+ m3 ?- ~; {$ }& H 1.过滤(Filter)
8 s" U0 k$ a5 Z$ x: A 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。0 y* C1 f8 |& N+ T
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
" Z- l0 I; H+ g+ X7 d+ r! Z8 R 00000001 -- Time! ^6 _/ p Z; X0 q! p1 Y
00000002 -- Query% c3 K+ w5 l7 s3 i: A1 J" _' h
00000004 -- Query2
, Q3 S) R* ^8 ]4 y; K, V, d4 x 00000008 -- Recurse: m# i$ F5 c# C) c/ U% c3 W
00000010 -- Master9 ^' q. m- _0 H5 |) B
00000020 -- Secondary) q5 ]4 n( @1 l* q( E3 @$ r% e
00000040 -- Wins
# H* f0 u& e6 V- |" L 00000100 -- Update7 a5 I2 O/ E F7 U7 R. }
00000200 -- SkwanSec
6 o8 S2 f) U. p/ Q 00000400 -- Ds9 |5 i3 U/ q w. O
00010000 -- Memory; T Y9 i% L" w" V% V. f
00100000 -- PacketMem
) A" b( Z" q$ G! } 00040000 -- Dbase6 D" I8 N# F4 b6 i
00080000 -- Records& S5 m* C2 N. @9 h) ?
00200000 -- NbstatMem3 a/ p# T& r' K/ a% ?
2.清除 /Clear 2 v' z/ N+ X& r2 Z' U, a
这个参数用来清除统计信息。* M5 k0 v6 H$ I% T! l, L
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
; c! @# i6 X0 p; {4 N1 r, a$ r9 `
) u6 |2 X" w. N; m" z
8 {8 w% b) s* u9 v0 H, D. ^
% f- `- ?6 u8 g4 Q- w |