本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
# s: K- M( T: E. p 命令: /Info & y: o ~# ~; _$ o
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。* r9 W! h) S2 I$ n. s. I: m/ X7 a q0 N0 ~/ U
用法:. d) O. W( z7 \( T$ p7 N' A) O4 x
dnscmd ServerName /Info [Property]
& l: M W2 T. M8 R7 \/ ~ 参数:
: D9 V2 V" [/ P* b ?% n ServerName " Z9 C k' p; j
服务器名称在上一篇中已经介绍过,此处省略。 : d/ ?( B# M$ E# o: h0 I+ ]1 `
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。. e, ? K6 l; c2 Y" g
下面是该命令使用的一个比较完整的例子:
7 L5 j, _1 i0 f) B3 E. {- { 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:7 `" V* _$ q8 B0 ^; O! ?9 u
dnscmd 172.16.12.1 /info 只使用命令而不使用参数$ f B: D# ]( b' j+ H7 f
输出的信息:7 {6 d% _* p0 D. s$ v* s
DNS Server 172.16.12.1 Information:# S q2 T* U3 B
C:\>dnscmd 172.16.12.1 /info. n: p9 u% F4 @6 G6 z8 _
Query result: 查询结果
6 y1 v, i* {# E- l v" rServer info: 服务器信息2 B, C8 B6 h" ?* O
ptr = 00074718 端口9 d% k+ f$ z; K/ F: L; D
server name = myserver.microsoft.com 服务器名称9 ^ t: n. I" u+ U% f
version = C2000005 版本0 U, e5 E7 G4 q" t" I
DS container = c DS“容器”
* q7 Z7 n( F0 s) e: w$ e3 ?% a Configuration: 配置信息 这些信息的含义请参考有关资料
) e( u! ~1 y+ ^8 C' ~3 V dwLogLevel = 00000000
, @5 }0 i8 ]; r' I1 t" L) f, f dwDebugLevel = 00000000
4 k! t# U3 N8 j% e0 L dwRpcProtocol = FFFFFFFF
1 i( W! c! m* W4 ] dwNameCheckFlag = 00000002
$ @3 u2 u2 m! z$ @6 s$ y* X cAddressAnswerLimit = 0- q8 M0 o( V4 o8 U% ?
dwRecursionRetry = 3" ~- I% u8 f: |! L3 S4 ~3 ]
dwRecursionTimeout = 151 k) R. l% F9 I4 C! d
dwDsPollingInterval = 300
9 ~ c' E" b: p Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
, N; ~" k. y3 _fBootMethod = 3 7 r o" U% C* W2 K
fAdminConfigured = 1
0 w4 M' C$ L+ x% PfAllowUpdate = 1 $ o- R+ C! _" B, B+ U
fDsAvailable = 1 ' R$ _1 ?2 @8 P/ I7 ]3 d# c" e
fAutoReverseZones = 1
+ W, V- ~3 s2 y/ P& t* UfAutoCacheUpdate = 0
9 u3 Z8 k- O" s# O) X$ E8 w: rfSlave = 0
% l i8 |! t/ _) _fNoRecursion = 0
0 e+ E, d+ I# \fRoundRobin = 1 M. J6 S) j' q D3 W- S3 O; R# V
fLocalNetPriority = 1 $ g1 j" s5 O% ~6 S6 ~
fStrictFileParsing = 0 4 e5 H4 i2 W3 y
fLooseWildcarding = 0
1 g" k# a" B+ R3 pfBindSecondaries = 1 / ?% O6 N; z5 K# u
fWriteAuthorityNs = 0
+ u1 ~" P+ u+ e3 G" x4 c' YAging Configuration: 5 ?% Y1 P$ b9 @
ScavengingInterval = 0 & h) t/ ^9 Y. I8 a% ^
DefaultAgingState = 0 ! K- ]$ l' h/ q+ _' z, I, o# e2 u
DefaultRefreshInterval = 168
" H, t' B4 t! [1 RDefaultNoRefreshInterval = 168 7 G! g0 u7 c: c2 @& b1 F% O R
ServerAddresses: ; M, }+ W) N* K! m4 R
Addr Count = 19 i0 J/ L4 \% @
Addr[0] => 172.16.12.1
6 ~% {$ G: \+ Z8 G8 h/ j) F6 P, |- a ListenAddresses:
) B6 ?. R+ N' i6 E1 B/ M5 V NULL IP Array.2 ^( p) q4 ^& ~( Y
Forwarders:/ M- P1 e) w8 R/ d7 R7 t$ M
Addr Count = 1 \0 z! p2 q+ p d, l6 }% G! v/ `
Addr[0] => 172.16.4.39 K0 h1 s: `6 X1 |. U) J
forward timeout = 5% i# ]9 `& ?. a
slave = 04 ]5 t( v7 G7 }2 k1 v" ?
Command completed successfully.命令顺利执行完毕
5 }! ?" z$ p8 d 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
1 F" V7 l7 K" R! ^& R 命令:/Config
% Y3 k4 L% n; R7 e- q 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
% O2 ]) B/ h; X8 m" r" D# l4 z( m ]. C8 r g/ ~1 j
用法:5 K& X4 V% M& j0 _
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) p* o! X r q
参数! A0 \" i. Q8 R
ServerName :服务器名称,意义同上
# j! g' t! n6 \' @# x3 Y, F/ p9 u ZoneName:
7 B8 z+ A8 T3 ^ 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
8 m8 n5 X' M- n: z Property:
" d! P* P! `8 |( t( H 这个参数是属性。这里所说的属性有:) K T+ A- i0 ~" N9 m
与服务器有关的属性:例如:
9 V4 J. V( ]1 K" ` W/EnableRegistryBoot; i/ C4 A' l1 m! z: m% q
/RpcProtocol
* Q/ } t; M) A+ z( }) {/LogLevel( C( Y$ a% T0 I. a7 i
/EventlogLevel 等等 (限于篇幅未能全部列出)
K4 H. ~6 q; m与Zone 有关的属性,例如:7 Z; H2 o+ X- X! D
/SecureSecondaries
4 Y* {; o, ?* {" [ /AllowUpdate) M* R. F, r& ~9 g$ y: [' f
/Aging$ a" u# M+ S. u3 m
/RefreshInterval Value- }- G! `/ v' q" A V; w4 s
/NoRefreshInterval Value( J, ~6 d* g- _+ @" j$ c
属性值:
( |, C3 \4 D$ @- R# o% i2 ~ 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
- P* i/ o2 x5 ^0 ?+ j. E从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
4 A8 e! G1 s% Y( r/ C P! u 命令: /Statistics3 N/ D, b- o& U. e7 n
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。' t' k- x8 ?3 g2 g( f: p
用法:" I3 O" d M6 x; }7 ]
dnscmd ServerName /Statistics [Filter|/Clear]
7 b6 Y/ _% o2 F5 N4 B1 y7 h 参数:
2 m9 }, J7 ^1 O; D$ ~ServerName / O! s; A4 ]. P& ~. g
服务器名称,含义同上。9 j, I* }- h P& [2 L- i+ E' `
可选参数介绍:/ k& e) Z9 H6 D% t& ^5 P
共有两个参数,每次只能使用其中的一个。
0 F0 N; E3 r% r 1.过滤(Filter)
% k% s! m( ?5 {' S. J( D! W5 Q 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。3 H' d a0 b4 W ~
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
$ @4 Z/ Y% F k) _ 00000001 -- Time' d* `, q+ T# ?# q3 H, b
00000002 -- Query
6 A4 Q7 C! ?$ Y: L' r 00000004 -- Query2 C: m w/ G% ~$ u9 S. N! K
00000008 -- Recurse- | I/ W$ t4 l) u
00000010 -- Master
0 c V6 j0 w5 h6 R9 T- m: Z 00000020 -- Secondary4 r& A0 \9 D" X! P# H& @: L* e: Q
00000040 -- Wins
2 n0 u% Q, v1 h! W 00000100 -- Update
* q; B/ P- b2 I) S% o' R: k 00000200 -- SkwanSec
T/ B% q) G' C: R' ~8 o; e4 \ 00000400 -- Ds- t! S8 {' d/ ^% J
00010000 -- Memory1 f2 H& b6 {7 o% f3 X( C$ G
00100000 -- PacketMem
5 Z+ J6 a" K0 \( R! D) {3 x, w: t 00040000 -- Dbase+ L9 D( X- w l4 U9 c) R
00080000 -- Records s9 V& r3 _) m' ~0 `0 c* q
00200000 -- NbstatMem
) O0 Z! q9 \8 k 2.清除 /Clear
8 H) x2 X4 e; F& d; A* k, H, s. U6 a 这个参数用来清除统计信息。
$ U. R4 h8 e; E6 F C 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
: c! F/ h6 V' f i$ [# g( d
5 t& Q4 r r3 d/ V; u 8 W" y0 [) d1 ~" D9 W. n, ?
3 i. p. A# `4 @, m- {( v |