本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。* K# X* V7 \6 Q9 {2 J
命令: /Info
8 U, g2 h1 f+ z+ J6 c6 K 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。' _5 y3 N9 S1 D: U# \" G% [
用法:' `& r3 Q0 f7 N; W; M, X
dnscmd ServerName /Info [Property] 2 B0 Q& }4 E) ~6 }6 j( ?
参数:
0 N6 M' @6 P, X4 }: O ServerName
. C0 q/ E' l- D6 t# ?5 L 服务器名称在上一篇中已经介绍过,此处省略。 6 J2 j, p% T ?. a& _
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。/ M8 e* t2 i- a! e8 C$ Q1 R
下面是该命令使用的一个比较完整的例子:$ N$ [ Z3 [4 D; K& ]+ p. Z4 z
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
! G% ~% R: M, V3 rdnscmd 172.16.12.1 /info 只使用命令而不使用参数4 ^7 q( ^. r2 W& {
输出的信息:
+ r4 A+ o1 Z; G7 KDNS Server 172.16.12.1 Information:& C3 i& ^; v3 Q0 r1 H/ t
C:\>dnscmd 172.16.12.1 /info7 t) O: t, _: Y' b
Query result: 查询结果- Y) n$ a% B& a% o
Server info: 服务器信息
: v) x$ O* l' g( u( z Y& U ptr = 00074718 端口
! |) s, @( {( f4 C- W server name = myserver.microsoft.com 服务器名称& H7 X. h5 M4 U u; |
version = C2000005 版本
/ ?" v) {3 I4 E4 V2 Q DS container = c DS“容器”7 v# P6 }' Y _# q! l2 |6 O8 T; Z
Configuration: 配置信息 这些信息的含义请参考有关资料
2 u! i6 y( n/ f/ H4 H" @ dwLogLevel = 000000005 v0 i! C) O8 o% M# t1 J
dwDebugLevel = 00000000, z% s! y+ B' Z `4 J. }
dwRpcProtocol = FFFFFFFF
, a* b5 n# i ^) T, F dwNameCheckFlag = 000000024 U" m' q$ o4 ]8 z. N _6 T
cAddressAnswerLimit = 0
1 Z& s* Q( O% D- m dwRecursionRetry = 3
* c4 N$ Z6 a( z Y dwRecursionTimeout = 15
) `: l* C( M. X1 Q' P5 m dwDsPollingInterval = 300
- p" }+ c8 M% ?2 ?% k3 ] Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
% Q* R) X& ~: }8 a( T" pfBootMethod = 3
* c3 T2 a2 a& n4 |6 q' B7 O8 m5 rfAdminConfigured = 1
" c$ T6 l- ~# T- i' z/ \( \fAllowUpdate = 1 # p9 T- `1 Z# S6 D7 H8 |
fDsAvailable = 1
" e. H$ A% m; ]fAutoReverseZones = 1 + D( O! {1 `6 X* `
fAutoCacheUpdate = 0
( f6 H5 c2 n# }8 X$ Z4 ufSlave = 0 ( `+ v G+ g& L1 E* Y s
fNoRecursion = 0 2 |" M L8 @) C; N
fRoundRobin = 1 / \4 A9 `7 b9 ?7 r
fLocalNetPriority = 1 2 e- d" k% L' O, L# e; z
fStrictFileParsing = 0
# M; f* P1 J) J8 S5 K& F+ KfLooseWildcarding = 0 , b4 h2 t3 f/ E# i$ U/ R. E
fBindSecondaries = 1 + q0 h+ o; a5 H7 s* L- P2 @; U. }/ \
fWriteAuthorityNs = 0 ( e% X/ g& X. Y a+ p
Aging Configuration: 3 t3 u( E+ P- m
ScavengingInterval = 0
- D7 e" `# _( i( LDefaultAgingState = 0 ' v) ?0 M. r( @
DefaultRefreshInterval = 168 : o- [$ i) S6 J
DefaultNoRefreshInterval = 168
6 L" Q+ }7 [$ l# f( f9 _0 R5 d7 A6 L ServerAddresses: , Z) ~$ a& i# d) D1 G
Addr Count = 1
3 k' O/ T0 m# _: \0 a2 O Addr[0] => 172.16.12.1
; ~8 J9 Z9 j/ c: |1 Q$ o' Y ListenAddresses:0 h5 ?8 Y7 J( X6 X3 P) {
NULL IP Array.
8 W# [3 N. w$ L Forwarders:" ]8 Q& d9 v& \6 M. |
Addr Count = 1% F0 C( n) _ `# W4 \
Addr[0] => 172.16.4.3( d( G4 R) f6 O+ h* V4 `) q8 r5 y
forward timeout = 5
& B/ O- H0 ?5 z# z slave = 0
: ]* p3 e( q! D& @, n, m/ DCommand completed successfully.命令顺利执行完毕 3 }; Z2 l2 x1 \1 Y
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
; Y3 G* M5 [) ] 命令:/Config
3 q4 g2 ], H* r/ W+ l3 G0 S* {& t 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。, u6 ^3 T: O i& ^# p! b% i
+ x2 h1 \. t; M
用法:
! D0 C7 J: X% W; e# o dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
( j2 M' G$ N/ R. j1 j0 H 参数
: W$ n/ d' @% F6 u, l0 l* C# O Z" e ServerName :服务器名称,意义同上
9 E( d. z, ~; {$ F. {+ \+ F ZoneName:1 b8 M$ ~: H" D
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
+ s' i- G5 h/ s1 J& L8 m Property:
1 K+ B4 K. ?9 J+ E" z) K 这个参数是属性。这里所说的属性有:6 Z# ^9 |0 o4 G5 |+ s9 m
与服务器有关的属性:例如:, P& V/ M3 ]' v/ ~2 x7 \ g: ?$ M
/EnableRegistryBoot
@2 W# ?- ~( H1 f; g$ i/RpcProtocol( \- p4 m$ v* D
/LogLevel
" D1 P( r. Q& j% s, n/EventlogLevel 等等 (限于篇幅未能全部列出)
1 z5 k9 L8 |% w与Zone 有关的属性,例如:
8 e0 X) Y L m& I7 s3 k. u /SecureSecondaries+ x, [ ?4 c6 e/ {9 o
/AllowUpdate
. d4 N+ `8 D' D* C' Z /Aging
6 V! a* J7 `' Q6 W# A' H /RefreshInterval Value
, K( w L& [: ` O /NoRefreshInterval Value
2 |1 O/ s9 O( f) X' V1 I; H1 @* p 属性值:
6 v/ N% ^: M$ o1 l+ e: O5 i 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
4 Q& a6 Z; b- `* ^+ F, t0 E从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。% O6 z8 @9 \* F% V2 f
命令: /Statistics% H; g* U/ y, d2 q. \( G! V/ J
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。+ Q7 W' t$ i2 Y6 c+ e0 |
用法:) Z) Z0 e1 f3 n1 B, d, B& B
dnscmd ServerName /Statistics [Filter|/Clear]" p3 |5 [( d. k8 P' ]2 t
参数:) w% H8 d1 }( e2 C) n
ServerName * {3 Q" E2 M: h: \3 M2 s L
服务器名称,含义同上。
0 ~6 s: a, X( D* F可选参数介绍:
9 w3 D S- C1 T$ L# K2 a共有两个参数,每次只能使用其中的一个。1 {* n+ ~) p# k* m; M. _+ K
1.过滤(Filter)8 m+ ^ L3 P4 i$ l
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
y! C4 M& G0 I& U3 |可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
: _9 m3 q2 H) ?# ?! Q" j& D 00000001 -- Time
- w5 g$ Y7 Z {! `) R 00000002 -- Query
( v/ v J) }) e0 K U9 t; t 00000004 -- Query2' T/ a9 k9 A- r# t
00000008 -- Recurse7 W. Z# @- j6 T1 {9 x$ {1 Z
00000010 -- Master
8 [+ `2 k8 k2 W5 I6 G0 h 00000020 -- Secondary% m, w; s$ R- W; W. |3 `
00000040 -- Wins
2 h. a; A l' C 00000100 -- Update# E! J w0 ]6 ?+ p {. f; {' a
00000200 -- SkwanSec6 P3 M; x% X/ p/ j
00000400 -- Ds7 C. l4 U, m6 ^) c$ `
00010000 -- Memory
- o5 d% I% ]- D I) d+ I 00100000 -- PacketMem
1 i' ^- I6 L. { B: ^+ N 00040000 -- Dbase
3 A8 o* V: w% Q" f 00080000 -- Records
& b, V" z! I: n# \7 N" C( z 00200000 -- NbstatMem
% v( ~7 e/ Q8 Z3 Z) d8 E9 ~ 2.清除 /Clear % u3 q. @- n1 p3 m, e6 M
这个参数用来清除统计信息。+ H3 L% G+ n0 z [9 s% {
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。* F. [' ?7 x. c% Y) Y" _8 I) o
9 _0 }- q+ ?2 y$ N
! g9 i9 t- N1 C4 X
1 |8 {3 P4 b# k. H- O+ u ^ |