本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
# V1 R$ A" d* N {5 M/ V 命令: /Info 7 U6 H$ X) F% F4 |# O) r
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
# W$ F5 i3 @) \ 用法:* M: [+ Q- Q! y n- I
dnscmd ServerName /Info [Property]
4 P, y: M$ m8 E W6 G 参数:" a# h0 X. h7 ~' ~# q' t, L
ServerName ; `# G) ^0 H3 A: B
服务器名称在上一篇中已经介绍过,此处省略。
" s/ @# n8 R/ | [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。' t$ L. u3 J) |& @1 A0 R1 e U9 r/ J
下面是该命令使用的一个比较完整的例子:% w( y0 u! A9 \: z( D4 x5 q
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
; P h, U( `, W& h, I3 f: U- P# }* ddnscmd 172.16.12.1 /info 只使用命令而不使用参数
; i) J; @- }& v' o9 T8 J5 T+ M输出的信息:8 r! X0 g0 |6 O& E: L$ ^
DNS Server 172.16.12.1 Information:9 V/ w- ]8 z4 U2 K0 s
C:\>dnscmd 172.16.12.1 /info
" J" |' \+ o/ h* y, r6 V5 fQuery result: 查询结果
6 Q* D' f; u- h" `7 u7 C# }2 X. X# O' NServer info: 服务器信息3 e b& \; P+ d0 K
ptr = 00074718 端口- m `1 ] Q9 l9 }. y1 t" [
server name = myserver.microsoft.com 服务器名称5 ^9 _4 }! k- b% S$ Z
version = C2000005 版本
7 Y j9 x; P& k4 _7 l, b DS container = c DS“容器”
$ f* _+ W; I, {9 M Configuration: 配置信息 这些信息的含义请参考有关资料0 P& e. q1 S; D3 P8 c- j" y- T9 e
dwLogLevel = 000000009 Y& \# G# S, ]' _
dwDebugLevel = 000000009 N) `8 ~" u7 u
dwRpcProtocol = FFFFFFFF
& h8 v2 ^* R7 |3 a5 {( |2 n5 r& C9 o dwNameCheckFlag = 00000002
- }& y6 N g$ x6 I cAddressAnswerLimit = 0
* v: u3 m" e! R' x7 a0 ^ dwRecursionRetry = 3
' [1 Z2 j8 W' n& [9 P5 A6 M3 s dwRecursionTimeout = 150 R8 p3 Y6 O0 B, t: X, q
dwDsPollingInterval = 300
7 q6 J6 @3 ~8 p( g Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料5 }- r6 Z, J/ t
fBootMethod = 3 + r: |; R" Y. P
fAdminConfigured = 1 1 \5 m1 C. X* ^
fAllowUpdate = 1
+ [+ t x) a3 w$ Q) j1 rfDsAvailable = 1
. k* K ~5 W! z& V! g" |fAutoReverseZones = 1 5 C3 k0 b$ E- P
fAutoCacheUpdate = 0
& S+ _/ w. k' B: q$ ZfSlave = 0
8 o% S3 W! q! l& dfNoRecursion = 0
: v4 m6 P! E1 K. y8 HfRoundRobin = 1 $ O/ I/ s1 }6 u' p& y
fLocalNetPriority = 1 2 O( j$ U Q. l% j+ `1 X' |
fStrictFileParsing = 0 7 r) p/ v; u* y+ u% M$ K# J
fLooseWildcarding = 0
( L( S5 z( Q- L8 C& C+ ~fBindSecondaries = 1
5 J, e1 n9 x7 t( I' I' K' s4 i* AfWriteAuthorityNs = 0 1 [6 V$ M) q7 H
Aging Configuration:
% V: u! w T$ ~; m, v9 uScavengingInterval = 0 ) |" H* Z2 r- @7 w& y3 E; }' Y
DefaultAgingState = 0 ! D% I; t% h$ w$ K, G
DefaultRefreshInterval = 168
! @ V% i; Z5 \: p2 XDefaultNoRefreshInterval = 168
6 j# o: C% X& k& X2 K, k! G ServerAddresses: $ y G0 _1 H! t, h( @3 u4 |: L5 }
Addr Count = 1
4 P' [% P) d# V, Y( B/ E0 P* J Addr[0] => 172.16.12.1
5 x( L8 l. \; g( J5 R8 b ListenAddresses:
5 P6 Y2 \& u6 }1 E. j5 [ NULL IP Array.
1 _! Z7 |& G- \! P4 a2 [2 x Forwarders:
3 ]- \2 H+ Y8 k, Y! m" S( W' W2 H Addr Count = 1
$ ~& T! b( I& `; z2 k) C2 e" S4 w) j Addr[0] => 172.16.4.3
( V: ^( u: e$ |* e F4 A% s forward timeout = 5
$ H! e, c. X4 F f6 H+ ^ slave = 0
# L1 p3 D- J4 _# UCommand completed successfully.命令顺利执行完毕
6 f) J1 c% s& Z. ^3 D, r- K% D 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
6 |0 d$ {+ s4 d; P, @* s" I) ` 命令:/Config
) w) q% X/ B* ?' Y" N7 v. s 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。8 j+ `; R# j9 F: d7 g7 g2 z
t) [% @/ d* b
用法:
3 x, K% ^( @' S& ^ dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
& X; J- Y+ r V) ~ a 参数7 M) a! _/ h+ S
ServerName :服务器名称,意义同上 : H3 b. I4 Y) N# }9 R* d& x
ZoneName:2 m/ [. Q2 @9 Q1 L: N4 U
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
; E0 d/ w) X9 j' R& P Property:
* c0 Q6 O Q* W" R7 E 这个参数是属性。这里所说的属性有:3 @1 m3 H) `, ?7 t. c4 D P$ |
与服务器有关的属性:例如:
& ^$ ?0 `$ b5 ^, ` B) `$ u* ]/EnableRegistryBoot
% @1 g+ p6 D$ v! y* n- i) m3 u/RpcProtocol& D0 e" o% C1 [+ Q( B
/LogLevel$ q# X" P) N# a6 D2 m
/EventlogLevel 等等 (限于篇幅未能全部列出)% [6 X2 A( ^2 M; h& k
与Zone 有关的属性,例如:
+ e2 e6 s- Y* r( a. U /SecureSecondaries7 ^$ P0 k4 n, U& l" b
/AllowUpdate1 ` |% ]7 Q# j- ^) K
/Aging
( L D3 b' [" K0 \1 Q) ] /RefreshInterval Value
I7 D; T3 R6 c" ? o9 p; e4 B4 S /NoRefreshInterval Value# ]. F8 T% [! x) f
属性值:7 O: T, }/ D( m5 ~' n
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
) L! S% {: r- [/ A! h) h- `5 f从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
4 G4 F- s" _3 }4 B, [) r# R 命令: /Statistics7 ?1 `0 H- i; o, T* T2 H& X
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。; N' B' T2 O5 V% R; Q) I
用法:$ A( l0 E# W" o; C- U9 n* C1 e& V
dnscmd ServerName /Statistics [Filter|/Clear]& c0 s' G: d5 @! `' ^1 v2 t9 H
参数:
: {3 R8 G0 E; Q5 l7 sServerName ! Q0 C$ C. @" d3 {5 z; ~! S
服务器名称,含义同上。
9 K' j" f7 A; R" ^9 ^4 {1 W; I可选参数介绍:$ i! v; F' a0 C3 V v1 ?
共有两个参数,每次只能使用其中的一个。/ X. I$ Q7 g! l4 O5 C2 B
1.过滤(Filter)
R6 N. Q# d0 N" Y 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
3 p8 e: k. E- m( U4 x# F- W% b" q可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 5 a8 d( Y$ a/ U5 k; B' q
00000001 -- Time. m# U$ W3 K! [3 y: c- ^
00000002 -- Query3 c' G) B* k9 R/ ~7 }
00000004 -- Query2 E& Y" L o1 A
00000008 -- Recurse
" ~% Z0 T! n- t/ F- [1 O 00000010 -- Master
8 k j8 L+ e3 O+ B- h z* z 00000020 -- Secondary
* ?2 P: c4 Z' e7 Q( ^' v4 o 00000040 -- Wins- [2 G/ ^3 E; h: g3 a
00000100 -- Update2 ~7 N5 V( Q0 ^- G' H* H
00000200 -- SkwanSec$ I8 e' L" v* `' u/ l" ?+ E' Y; C
00000400 -- Ds
! Y1 ~$ G! |) }. y0 Y) q. ~! K 00010000 -- Memory
9 Y2 _3 I" w3 ?5 F 00100000 -- PacketMem6 n9 \- l1 `( C6 q9 e
00040000 -- Dbase. `- b$ W$ |9 ~: q; k A/ B
00080000 -- Records! F( A8 |* s4 Q9 a
00200000 -- NbstatMem2 a4 y* b2 k5 s% O5 I
2.清除 /Clear
) ]; \: h+ Z k2 P- ?5 h; N 这个参数用来清除统计信息。' j" D$ Q/ P. Q9 Z1 l) S. y
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
6 U9 Y% c' t0 k: @9 ^' O' F0 _; t p. H- f9 x- Q; i: L
s+ t2 V$ g, \3 E, l
" p6 B7 i: ]- |' q V! M& n- p |