本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
" C; O# C2 ^: H& e 命令: /Info 4 b6 Z9 f- Y" V1 R! R" b/ n
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。3 f8 o+ `2 i3 v9 L+ G6 c& W
用法:
3 ]- a. j+ F% l5 N dnscmd ServerName /Info [Property]
+ S1 J! h# Q- `, N' A& P" D 参数:- B* e. F5 o7 j1 ?" ?! T
ServerName
3 |9 ]; q q1 Y# s- q+ d 服务器名称在上一篇中已经介绍过,此处省略。
/ J8 w, ]% }7 }1 m [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
, y+ r7 E3 r+ g, `+ f: d) ~ 下面是该命令使用的一个比较完整的例子:' n% P: \+ X& b+ F0 m2 b
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:- R' x( B/ q" y% A! C: n w1 c* T
dnscmd 172.16.12.1 /info 只使用命令而不使用参数, i& R' ?9 X! e
输出的信息: W+ M9 P6 ?7 P0 v! h
DNS Server 172.16.12.1 Information:; n. H' x, k$ l
C:\>dnscmd 172.16.12.1 /info
& k+ E; _% C8 j$ y; @$ n+ RQuery result: 查询结果7 A- `4 D$ o) s$ o/ D& T9 v
Server info: 服务器信息
6 }5 {- ~& t( e0 G6 B& j ptr = 00074718 端口
8 Q3 s1 Q: D. J& F& T server name = myserver.microsoft.com 服务器名称+ j5 N- N+ {: ~% Y
version = C2000005 版本
4 x/ j) b: |+ F9 \" G" L DS container = c DS“容器”
' i4 ]% N. Z& U( ` Configuration: 配置信息 这些信息的含义请参考有关资料
/ u4 [/ ?7 @2 A" ^; m9 u dwLogLevel = 00000000$ G' b. F/ T7 q& C K
dwDebugLevel = 00000000 r# d: |; g# V0 x- l
dwRpcProtocol = FFFFFFFF
7 Y0 V, F7 C* d+ R& q8 V5 x O& I9 h dwNameCheckFlag = 00000002
( f: V2 t" C8 Y# q A cAddressAnswerLimit = 08 Z, v( W2 {& @" j1 u
dwRecursionRetry = 34 \' ?* w$ O& f4 b+ O
dwRecursionTimeout = 15
/ x' ?1 F5 ?2 L; b) V dwDsPollingInterval = 3004 G, t Z3 s& j( s/ s
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料5 i7 m: @" e5 H, R' G
fBootMethod = 3 % w4 d% t: R/ Z" ~1 t
fAdminConfigured = 1
- Y- K+ m* C5 o( G: F! efAllowUpdate = 1 ! F3 P( A F# x" \) _" v
fDsAvailable = 1
# A3 t& K% u# mfAutoReverseZones = 1 ; c7 }. u+ a0 T! ]7 ^7 o
fAutoCacheUpdate = 0 i, Y) N' P4 j. Y. R
fSlave = 0
4 Y3 Q/ K: t* e4 n& G- q8 j. IfNoRecursion = 0 8 k5 ^+ j2 A7 x
fRoundRobin = 1
8 `8 a* l* Y3 [# D+ xfLocalNetPriority = 1 5 C2 a4 x& H+ `7 B! ~2 h
fStrictFileParsing = 0 0 c: C X1 p8 G6 }/ O+ x$ z
fLooseWildcarding = 0 , x5 d* O$ d0 e1 T
fBindSecondaries = 1 % F' m9 B3 ~% \8 A" k9 ]3 {6 I) v
fWriteAuthorityNs = 0 ' k( K% a! U0 y9 H- O! U
Aging Configuration:
4 q* z9 N4 L) v/ K1 R' NScavengingInterval = 0 ! l! V! M! Q& W/ i8 l
DefaultAgingState = 0
+ G4 b" [3 W& o) Q8 ODefaultRefreshInterval = 168 8 d# E$ p7 Q' `; M7 n! O( q4 G0 H
DefaultNoRefreshInterval = 168 ) d; s; ?1 h! l0 Q, r. A, f: b) F
ServerAddresses: : G2 Z8 C5 E/ }( Y9 O) M
Addr Count = 1
) y, k* {* t$ K, U Addr[0] => 172.16.12.13 @* |4 a; ~4 H+ R0 [0 w6 O+ R. [
ListenAddresses:
6 Y. [! D; f; q( {- ~" v) q' H NULL IP Array.
1 Y/ f1 f6 d9 a Forwarders:
5 r3 O# d; z0 ?) f0 v3 B% R Addr Count = 1
7 q& I& q, E0 U9 w6 q- H; c Addr[0] => 172.16.4.38 h2 e9 @, e+ E$ C8 _( d
forward timeout = 5
: H( k Z7 }* O" \: P8 F slave = 0
l; L1 d% T) U8 O w" pCommand completed successfully.命令顺利执行完毕 2 }7 K/ n; M2 U( C5 ^
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 # Q$ n# G- R$ B7 Z4 h9 L
命令:/Config
+ |. b% n4 c& N$ m6 S 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。7 ^ z. @ a+ x; F2 O5 {9 I. n
7 i$ u9 ^( K# U& W
用法:6 ?* x+ y3 F" L& u( e( h! q( c
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value# L4 V& g' z4 i* ^
参数
* _; U* I8 K6 Z, Q; n2 i1 _9 d ServerName :服务器名称,意义同上
5 Z) k6 q5 g2 l# M2 m ZoneName:
" J0 R2 ]" f6 ]/ L4 v 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
1 L; ]. R* R p1 e A5 t" p6 n* ] Property: $ d( y; Y# c. p9 P
这个参数是属性。这里所说的属性有:3 M; e7 ?7 Q% w$ v! b
与服务器有关的属性:例如:8 K+ F2 F8 g( A; A, ~
/EnableRegistryBoot. j) I0 K* N8 U
/RpcProtocol
# C/ C: B( Q8 o2 _1 z! o: D3 K/LogLevel4 L: o- [4 c! E* f
/EventlogLevel 等等 (限于篇幅未能全部列出)
4 D1 ?% S8 I5 e/ V$ {- ~与Zone 有关的属性,例如:
: Y9 r d7 a0 x" ~8 a( u# H6 h, O& e( Y. g /SecureSecondaries( o% i6 k2 s, ]0 `+ q8 P
/AllowUpdate7 O+ I' o9 b* p0 Q
/Aging' R& k6 d( L `$ R' F
/RefreshInterval Value+ p1 {2 F7 f7 i3 p6 {
/NoRefreshInterval Value
2 d% y8 m" l Q6 _4 g" V6 c+ |' p 属性值:/ H: s6 f3 K1 i0 d0 u
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。. [7 u; t* M; l0 W/ w
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。* r# @ k! N/ s
命令: /Statistics
3 n, x& @8 K( T- N1 y6 D2 { 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
6 Z1 Q& |2 y- ^+ h8 ^ 用法:
. k& K0 w) F& A1 l dnscmd ServerName /Statistics [Filter|/Clear]7 d' }* q+ z; u, R) ]% |
参数:
, L Z3 a3 I' K1 b B, D9 MServerName
1 c4 l, Y& X$ q8 V" C7 u+ c$ O) k服务器名称,含义同上。
4 O6 j! F* X' z: r/ n可选参数介绍:6 y/ y2 A- y1 {! x( ?0 J1 c8 A
共有两个参数,每次只能使用其中的一个。3 G1 r( Y( Q/ C3 N- Y, Q+ {- K
1.过滤(Filter)9 |( X- V) p0 I& A" A7 ~
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
. t8 o8 O6 c4 t* H U3 `; E0 C, \可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: / ?8 N1 L3 g) s
00000001 -- Time
7 g- p) D# E! e1 \ 00000002 -- Query3 F+ N$ y6 t# w: N5 W7 s
00000004 -- Query2
# h3 x& N% B7 X% g# Q 00000008 -- Recurse
, |! {2 w: F. P5 {3 A1 a 00000010 -- Master
* z" ]* K2 B2 i7 B. k 00000020 -- Secondary$ |5 D0 t% G# j" h% b6 B: Z. ^
00000040 -- Wins; ]& q* A# z+ _2 F; V
00000100 -- Update
( G0 f2 T# K1 j F5 v 00000200 -- SkwanSec
7 b1 @% y6 X5 m; I7 H- U0 e 00000400 -- Ds. \ F; n- I( _& l0 y5 s
00010000 -- Memory
5 _: U: a% g9 B! l& ] 00100000 -- PacketMem
6 P4 u. P/ F( k 00040000 -- Dbase
& ]0 w/ @4 ?1 Q5 @& w& _9 H 00080000 -- Records
, j3 J% _9 L9 C+ A2 g+ `, k( \8 @ 00200000 -- NbstatMem
! c z6 m( D1 S, B 2.清除 /Clear 4 Q; r2 s, ~" O
这个参数用来清除统计信息。
( Y% I, X. e! ?- S# H$ [# T 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。* P; o4 @# l$ M* H
. w3 m5 D/ S# Q) V7 N 4 C8 D1 G& G( O8 B! ?) u, z; q0 W
& @+ ~" [3 a6 ]2 t |