本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。+ X. u9 T9 u, J( W" k6 T @; I
命令: /Info
. q$ s, K3 q. k8 N, n. L0 ~ 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。5 N8 |4 o9 A5 T! L% V7 i
用法:0 a$ T# _ F1 }
dnscmd ServerName /Info [Property] i5 z. C( W, j+ M5 a5 R' G' j
参数:
P, K8 t) D9 \: r ServerName " Y9 n8 r9 {! C' r( M% u
服务器名称在上一篇中已经介绍过,此处省略。 v* m$ z T, p
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。2 f4 @" Y# B" [7 c1 V
下面是该命令使用的一个比较完整的例子:& s* n# z& h/ v5 I. G7 R M
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
+ E$ q0 m1 b2 b C4 g4 ydnscmd 172.16.12.1 /info 只使用命令而不使用参数8 ? M, z1 `, f: x4 P( e1 g
输出的信息:! m0 q9 E3 V; e$ P; ?
DNS Server 172.16.12.1 Information:6 a. ^" T! h! x1 | ?/ G
C:\>dnscmd 172.16.12.1 /info" E" q# {. W7 ^3 j. ?8 q
Query result: 查询结果
$ A! k2 q/ P4 nServer info: 服务器信息$ P3 C ^* y* X- \
ptr = 00074718 端口* z+ F. ]8 i) J/ Q7 U+ k+ j
server name = myserver.microsoft.com 服务器名称6 v$ B# h7 L- o4 ?- C. @
version = C2000005 版本( s1 ?$ Z: R" d p
DS container = c DS“容器”: H2 D S$ L- O+ A
Configuration: 配置信息 这些信息的含义请参考有关资料2 L; T5 T" e3 O1 L1 B0 c$ L3 n
dwLogLevel = 00000000; |6 ~6 J2 {" h
dwDebugLevel = 00000000& j" }$ K$ Q( r
dwRpcProtocol = FFFFFFFF/ n/ E2 Y* O8 V1 e, N7 t- w
dwNameCheckFlag = 00000002
/ m: e: @* r7 a cAddressAnswerLimit = 0" a6 p3 z1 G% J; D5 i2 `1 @2 H1 ~
dwRecursionRetry = 3
! V# ^' `1 ~5 i% J) P dwRecursionTimeout = 15
( }$ i, j7 b- j( y# M7 ~ dwDsPollingInterval = 300! s3 G7 h" b2 l% i: |1 r# n
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
9 \' w# U- u" ufBootMethod = 3
; Q6 @8 Z; w8 ^ ~! RfAdminConfigured = 1 ! N3 o' x' B# `* h5 F0 j
fAllowUpdate = 1
. ~! f* e% l- V8 w( ]fDsAvailable = 1
0 b/ i" z2 A( }' Q. C, l2 rfAutoReverseZones = 1 - l2 X) c/ D" ]5 s- {; q I6 ~! t
fAutoCacheUpdate = 0 8 J0 K% K3 h3 a# O
fSlave = 0
9 x, m o" M9 Z0 qfNoRecursion = 0 5 [& S; ?6 G1 J% q- k
fRoundRobin = 1 0 w# p, Q \1 a+ e" b" z
fLocalNetPriority = 1 1 `9 J. s1 v9 P8 ^ K
fStrictFileParsing = 0
2 T& P' H9 R- T( o$ ZfLooseWildcarding = 0
+ }# \: J) y$ p7 kfBindSecondaries = 1
3 X" W! t5 Z, h+ @fWriteAuthorityNs = 0 + {1 E$ Q7 G6 T/ n) \! I
Aging Configuration: ! |1 a# b" b: h5 U- x9 O$ u" ?
ScavengingInterval = 0 1 O, A+ [ n/ X2 h
DefaultAgingState = 0 + L8 D T) k3 B5 N4 O
DefaultRefreshInterval = 168 9 b* g3 o: e1 f/ j
DefaultNoRefreshInterval = 168
$ x3 E- s' Z4 ?$ C" H ServerAddresses: 1 q8 z& a" d9 K3 a/ s5 E
Addr Count = 18 z k/ b2 j X3 z4 X
Addr[0] => 172.16.12.1
$ P l" ^" m& w t5 [ c ListenAddresses:
# }# |6 u* ^$ x" ?" k- n NULL IP Array.; R. c' b! o$ D0 ]* l
Forwarders:" b0 j" i: p# D o1 c
Addr Count = 1
6 ]& b& w& j" h0 `: [ Addr[0] => 172.16.4.3
; e7 x0 F8 i% U1 z6 D2 v forward timeout = 5$ W" G1 U# l7 d/ L5 C4 Z- E
slave = 07 ]( `6 A0 S0 Y! b
Command completed successfully.命令顺利执行完毕
7 P: z" t, a" t$ } 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
2 f* u. z& ^7 D 命令:/Config2 ^& v6 I1 |5 u1 M. E1 u; A
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。' w( R% x: A) U- }) q
! S$ @ \: ^3 n& J' `4 z1 g7 G 用法:1 m: F# E; ^/ V
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* W! o1 I' R! \- ]( l+ r 参数; @! c# ?- ^: P B. s* R
ServerName :服务器名称,意义同上
! X% `' H+ ^2 X u4 T( K5 x ZoneName:8 p: y% T9 Z: z
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 # U7 d3 y( s+ h. @" u% `
Property: 2 c1 P8 c! I/ K: f/ @
这个参数是属性。这里所说的属性有:
! D% X. K8 [' b0 _7 L 与服务器有关的属性:例如:' D' v" ^+ L+ Q# k! M# y3 l. y
/EnableRegistryBoot1 p+ ?' |! C& @6 A: Y
/RpcProtocol
8 w- v: R+ ~" q& V# E7 g/LogLevel
% U! @1 q7 k2 a& \, l. y4 n& Y/EventlogLevel 等等 (限于篇幅未能全部列出)) h; x/ y$ j0 C% R
与Zone 有关的属性,例如:. @+ g. p% @$ K d$ B
/SecureSecondaries! {6 u7 x2 J; T( k" w
/AllowUpdate
. D9 y+ ?" T& C3 M' A. D ~2 a% k /Aging6 c( e" a* p2 s$ D& o+ k/ @
/RefreshInterval Value
2 v2 B/ J" M* J. I% w$ u /NoRefreshInterval Value0 c, y" b' G6 ?9 w4 A0 O
属性值:
9 M2 |$ ~- I$ n 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。5 v; q" W' I( O" a# d
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。# L" A" ^( _8 B+ p# u1 Y7 D
命令: /Statistics
+ E$ m& `" z, q. {7 f M2 W6 H 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
& D/ ]6 U' V$ G8 S: X 用法:
: _1 u, p$ q. S) a! ^ }+ c h dnscmd ServerName /Statistics [Filter|/Clear]4 D) a: p3 a8 l+ R/ P
参数:
' ~0 S& k- U+ q+ ZServerName
8 X \! x7 y* Y* j, F5 j服务器名称,含义同上。
4 f. N# C% q1 r! n5 w可选参数介绍:+ I" m" [$ `' H# l" J0 B3 j) w
共有两个参数,每次只能使用其中的一个。
1 T- E A) s( P3 L 1.过滤(Filter)4 X- M+ I5 R9 t6 j$ b1 a- \2 {
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。' p4 j8 O9 I2 T4 v3 L3 F- B. x7 n
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 5 j3 Q( r" Y- y$ T) ?; C
00000001 -- Time. {, w, U9 s2 O7 Z/ e
00000002 -- Query
K. K) R1 P% K) u8 Y/ ^ 00000004 -- Query25 `# ~' ]8 t X2 {5 f* f7 A" J
00000008 -- Recurse( I/ F" v" V3 B+ k0 f- W7 i
00000010 -- Master
" R# U' M0 N2 @8 } 00000020 -- Secondary1 Y) o; K- s( n `% i3 M3 K+ L# I
00000040 -- Wins) S% T. B3 C3 i. X; n3 [
00000100 -- Update" @" s" |1 o( ]' P$ O& x
00000200 -- SkwanSec% W( V; W. z. a
00000400 -- Ds
- X9 b9 i( j, N 00010000 -- Memory6 E2 [# m/ ?+ k
00100000 -- PacketMem# e) e F& L, t( C
00040000 -- Dbase7 k3 O& J: S( f0 d- N& B/ P
00080000 -- Records
; l' A, N' H+ o1 `; }7 D 00200000 -- NbstatMem( p2 H3 a2 v; W0 y; H
2.清除 /Clear M1 Z$ T9 n+ s6 C+ }
这个参数用来清除统计信息。' S2 R" g( F' D K2 ^0 C
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
. y1 V0 S2 h: A3 n+ V) B' \+ ^9 i7 {. {* e& D, Z& D" y
+ u, R8 ^6 g/ Z; T. X- D
( b! r" x" Z" x& O0 x |