本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
% M, Z+ O2 O0 r+ d3 o 命令: /Info
1 d* I) m9 U2 p5 P7 h4 d 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
6 L1 W9 d, e8 c! Q 用法:
! g$ s( d3 ^" O; x0 C dnscmd ServerName /Info [Property] ! Y* {' w$ ^' u @& Q
参数:$ V+ b. c. m/ }: T0 {% h3 Y# f
ServerName
, T4 U1 Y) M" x: E6 g 服务器名称在上一篇中已经介绍过,此处省略。 4 s( V0 C) n* D3 A
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
& W2 U5 Q$ }3 p* s! p4 ~ 下面是该命令使用的一个比较完整的例子:4 L& }+ M! _* i# C& x
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:% d/ I5 @7 c% K
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
! m7 d) m" m, ], T! S, |& `& d/ n9 n输出的信息:
+ q5 {5 K/ K. x! iDNS Server 172.16.12.1 Information:
. p1 W4 z% f' H2 e% s- p( DC:\>dnscmd 172.16.12.1 /info
3 L3 k+ A" b( e0 kQuery result: 查询结果
& ]2 m" j7 H) [3 a `: vServer info: 服务器信息
2 B% M# M. e# M2 W5 r- ?, s0 I+ U ptr = 00074718 端口
+ n, z5 [! m' P2 L- N2 n server name = myserver.microsoft.com 服务器名称
# z3 n" Q1 M% B( w version = C2000005 版本7 N2 R2 x' F- y. ]
DS container = c DS“容器”0 m( T1 B0 @. M n, w% c
Configuration: 配置信息 这些信息的含义请参考有关资料
# f1 L1 H/ n' H {6 ^ dwLogLevel = 00000000
! n* b- s+ K4 d: L dwDebugLevel = 00000000! U4 Q+ _/ ^4 ~5 J) l9 {" w
dwRpcProtocol = FFFFFFFF' y6 b9 P. O" ]$ o% K
dwNameCheckFlag = 00000002
6 q* L0 N7 D8 Q' ]( J( f$ f8 l% s; } cAddressAnswerLimit = 0
8 q, ?( Y4 W* |9 A, i& } dwRecursionRetry = 3) o9 R/ r, \" x0 @
dwRecursionTimeout = 15
) W+ o5 {. j; D" I% y dwDsPollingInterval = 300) R5 h, Y2 C) \9 ^5 Z6 l3 y( E0 Q" Q
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料8 p J/ p1 ^% P+ b) d8 ?
fBootMethod = 3 ) _9 U2 ]( m7 w+ M6 U4 I
fAdminConfigured = 1 % N: F/ W% g, Z. S
fAllowUpdate = 1 ! i. d4 t* i: [9 J2 v, |: i7 t9 G
fDsAvailable = 1
0 b; O* P I' }8 n; a3 h! b }8 vfAutoReverseZones = 1 ' J4 a; N% B$ f [5 a
fAutoCacheUpdate = 0 ) u2 c7 d G' J$ [+ k
fSlave = 0 : r e# y# e. I" W0 F$ K
fNoRecursion = 0
: ?! P6 l8 i1 @0 C' r! m" lfRoundRobin = 1
: u3 k- h# }8 \9 J* u0 KfLocalNetPriority = 1
! S) b0 h5 D. J6 R' l! }fStrictFileParsing = 0
$ l6 g; T( I0 wfLooseWildcarding = 0
4 H* q5 d6 }0 h$ gfBindSecondaries = 1 3 f! y ^- ^. {- g
fWriteAuthorityNs = 0
: d/ {! G: f/ Y) s6 a7 }Aging Configuration: 1 ]+ E; U, b3 j( L
ScavengingInterval = 0
9 T, L! X H& b' wDefaultAgingState = 0 8 }7 w; J# r( ?
DefaultRefreshInterval = 168 ) V$ l% r/ o$ d1 i9 |) M
DefaultNoRefreshInterval = 168
6 V5 S; e2 J9 }" |; ]0 g" o ServerAddresses: ( Q7 u. G4 t( W% s- |8 m7 `# l$ j
Addr Count = 1
/ `5 ?$ g! b) s8 M Addr[0] => 172.16.12.1
& K1 _3 J- O5 Z ListenAddresses:0 i4 r% N: A% ?
NULL IP Array.
" F5 V& o. `) l5 U& E Forwarders:: V# d& S' `" z( a' o
Addr Count = 1
0 g" y4 `! E0 x: [7 n j4 J Addr[0] => 172.16.4.3
1 P; b' b9 e1 Y- R forward timeout = 5
; L+ _0 [( `4 ^5 I9 H" f slave = 0
' H' R1 X2 C! f: }Command completed successfully.命令顺利执行完毕 : P5 l! _7 O2 U) b, {6 T
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 * I5 q0 }6 }9 r2 G
命令:/Config; w. B) k6 S! B- ^- ^# T; [
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
" L0 k; p0 f9 U- x% a" [
' r' q" i7 ~' ?. A" M 用法:/ S, D: ~( x2 l5 L9 _# G+ D. W
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value4 N4 U8 Z/ N3 B8 I; W
参数
?; [' K$ q/ X& U# u& T ServerName :服务器名称,意义同上 , c1 x. M2 R' x! V( ^- @5 E
ZoneName:
; `, {, v, h( y8 R8 o- n 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 " d8 F& Q6 `+ P T0 H* J
Property: 1 a& x# J( F2 k5 m5 \" n
这个参数是属性。这里所说的属性有:
, a; @6 \3 i+ ~ 与服务器有关的属性:例如:9 P# e: u( r8 [8 }- v
/EnableRegistryBoot
5 R/ R% j, ]/ }. p" s/RpcProtocol, L3 Y, K) V) K X% I
/LogLevel
- h& L" ^3 }2 k* t7 o5 r7 \/EventlogLevel 等等 (限于篇幅未能全部列出)
9 b5 S. @" R6 e/ H4 u% H) \与Zone 有关的属性,例如:
; M9 U N& g! `1 I- W /SecureSecondaries
& }- Y& v+ Z; k& E/ Z/ N /AllowUpdate4 L! u" P& p$ I
/Aging
# K) m% ^+ H5 z /RefreshInterval Value* E h: T. ^4 x R
/NoRefreshInterval Value0 S/ ~0 _3 y7 A+ B' X4 u
属性值:
+ _8 U/ ~! u* j. Z! k) J, B: Y 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
1 S5 Q0 r! A) J4 u从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
, r8 u8 n1 U; K9 `9 h8 z2 F 命令: /Statistics9 O+ O4 s0 D. P8 ]
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
$ ?. I4 v$ E! S% c 用法:) B- a; ^' ^8 @0 R, Y C" k, U
dnscmd ServerName /Statistics [Filter|/Clear]4 l! g- m: d" H# J( k7 M" Q$ J
参数:: c5 p) g' O# y4 s
ServerName ; t' ^: O3 x6 V4 M x! \6 e
服务器名称,含义同上。
: E% p3 Y+ Q8 R7 K f) `可选参数介绍:
8 e& i' ~( m8 J9 d# h2 s共有两个参数,每次只能使用其中的一个。
6 w) r! b1 _2 N( q: r 1.过滤(Filter)
4 U; o9 H: d; `8 r8 Q 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。) ^& |, |, m! y3 r0 {
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ; t: M% [, v& J6 E) s2 _, [" q
00000001 -- Time1 b* ]$ e8 y/ U% V1 W# }; ]
00000002 -- Query. `) t, v+ j* U
00000004 -- Query28 L' `% v, }: K4 h- I0 S) i. b/ c
00000008 -- Recurse
. j( j. {& W5 P8 y) b8 i. Z 00000010 -- Master# M3 @3 h( `: h7 w5 b( |: q
00000020 -- Secondary
+ B% D* }0 C5 K* @ P5 [ 00000040 -- Wins/ O, l( P* x* O: I/ g
00000100 -- Update+ ?* {* P0 H: G
00000200 -- SkwanSec; l( W, n. e7 }$ a. }# a& B
00000400 -- Ds1 x- x8 X* Y7 T9 m. P+ A& H$ M
00010000 -- Memory* u% L( C2 T" x3 | h
00100000 -- PacketMem
% R) T$ u J+ ?, t: S3 Z 00040000 -- Dbase
+ K6 H# E7 @( p! g# n( \ 00080000 -- Records$ ]' K5 k' k( J
00200000 -- NbstatMem: N! k L% ~3 f, P; j
2.清除 /Clear
& @: ^- ^0 m# R! n) E: j0 z 这个参数用来清除统计信息。5 i" h7 ]! U2 t4 z
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
0 W, {* _6 V" T% h4 r* `# Y/ ?. X9 g8 e' `/ x/ {0 A6 c
4 J! A' D; _8 x; z! f2 x8 U ]
& ?3 Q+ T7 }7 l8 [1 x" A# d; | |