本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
* ^5 l' L. y+ A+ P 命令: /Info " w7 N( b+ f N9 g
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。' L! ~/ ]( l q
用法:, l4 d& E" S5 b: H' I
dnscmd ServerName /Info [Property]
1 |, _1 `6 ~7 S+ z 参数:- e7 v% w! g2 z- E, V0 }, M
ServerName
2 ?+ ?: o# V6 O, n6 G" c 服务器名称在上一篇中已经介绍过,此处省略。 ) p! }# \0 W$ @& E( x, C
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
% l! x. t5 I! o3 ^" H 下面是该命令使用的一个比较完整的例子:
) t2 O8 _( h M0 X" t 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
" y" H# G/ i. b, S" P' ldnscmd 172.16.12.1 /info 只使用命令而不使用参数
1 p) h& v# F9 r% n& m输出的信息:- l4 y8 `2 i$ u" P$ Q
DNS Server 172.16.12.1 Information:' G6 }: s! U. u" M9 x! d
C:\>dnscmd 172.16.12.1 /info& U# [! {6 a4 k8 `2 J3 H, w
Query result: 查询结果
. H' i, ?* l5 v. E! b2 eServer info: 服务器信息
- Q: @! l2 a! G, f! J+ t ptr = 00074718 端口
1 y& j$ k, ]* ?6 f9 ? server name = myserver.microsoft.com 服务器名称' a8 f) B+ g8 Z
version = C2000005 版本$ ~( k S: A# N
DS container = c DS“容器”/ r6 N, Q+ P& M. f% n7 J% V
Configuration: 配置信息 这些信息的含义请参考有关资料: d( `& X2 n& z4 o) Z: @2 k
dwLogLevel = 00000000
8 c6 k" L! D+ S3 E. y/ T dwDebugLevel = 00000000
: j( n q7 V# a* C dwRpcProtocol = FFFFFFFF1 e4 I4 G, m- }
dwNameCheckFlag = 00000002- }: {, J k( r5 \6 V; [! b9 R
cAddressAnswerLimit = 07 C( {* U" p, q, j4 e
dwRecursionRetry = 3
6 Q7 f3 x% p7 Y. u( d dwRecursionTimeout = 15+ N: G8 e! A8 { ?+ P. y
dwDsPollingInterval = 300
) ~0 B4 V% j, h4 M# n# j& {% [" b8 G Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
5 C$ W+ q/ w- F+ L" y) C# ufBootMethod = 3 6 F6 ~- a$ W- b4 y |) x
fAdminConfigured = 1 & d1 z8 O8 O8 w- a) z9 w6 Z
fAllowUpdate = 1
. Q0 [7 m0 l1 k3 i y' S3 ]fDsAvailable = 1 5 c' s5 s P: ?" T9 c$ h
fAutoReverseZones = 1
) ~! a0 ?! \& k5 ]9 o, r, }fAutoCacheUpdate = 0 9 c9 m+ P4 f7 ~9 d7 X
fSlave = 0
. ~% _' ~3 E7 j( h# O2 Z2 k- P8 _+ BfNoRecursion = 0
4 I0 [& ~1 W% B% y7 ]: {; qfRoundRobin = 1
3 Y( ?$ r: ]/ D# @0 o+ C/ G4 @fLocalNetPriority = 1
$ m4 @9 S0 H# p4 h" _* ?fStrictFileParsing = 0 9 x7 F4 r! B: B
fLooseWildcarding = 0
4 B% ~+ Z$ r$ ~6 g |! e: cfBindSecondaries = 1 ) r$ `/ k- v5 q1 \$ J6 r( p
fWriteAuthorityNs = 0
$ r3 D. ]! z ^: V6 jAging Configuration:
" }! a8 U2 i+ U5 PScavengingInterval = 0
% Q" R' I9 }0 l. g4 A, RDefaultAgingState = 0
- _, z; v3 D/ lDefaultRefreshInterval = 168 0 t7 e ~: |4 }# O5 z
DefaultNoRefreshInterval = 168 * t9 {& w; D* i9 E
ServerAddresses: ( y# D+ Z7 Z# z5 S) J/ e3 |
Addr Count = 1
( d1 ^# T& |, ]9 ] Addr[0] => 172.16.12.1
: \" B ~* \7 O3 O ListenAddresses:5 `% w5 h" G: H5 U0 k* K' g
NULL IP Array.5 v( r8 ?; F C3 F% K5 f6 [
Forwarders:1 r. ^# `. O: n; m1 c# J, Q
Addr Count = 1
' ~' L4 s! l* o! v Addr[0] => 172.16.4.3
& g& v5 d* d3 w8 q0 y forward timeout = 5
' j1 z5 u+ S1 R% d. e2 ~2 A3 ? slave = 0, [; N4 f3 Q$ g) x% O2 j. N
Command completed successfully.命令顺利执行完毕
) z+ V8 O* e' s; C: b 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
5 Z9 C/ Q5 F& L! C" _: P 命令:/Config
1 x" z }: W: Q; n: N0 h5 N 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。0 T7 f: h; d8 O* A; @3 N
8 w' \% f; O3 I- T/ @# ^4 q
用法:, ?0 |' B e2 u1 k6 W' D4 `
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
- ~% K9 u$ l4 N0 i( Z4 N" Z# C 参数4 Q8 O2 d, ]" T5 w1 o; r1 Y' ^
ServerName :服务器名称,意义同上
3 e! j, b" V" [6 V, W ZoneName:" `; f1 B; P0 [/ W, w2 ^) I, {" I
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 9 l) v L3 I' e; L+ D: y
Property:
0 Q8 }: j% Z" V0 A. o$ [ 这个参数是属性。这里所说的属性有:- \" m! h8 F8 q
与服务器有关的属性:例如:$ x8 Z% R3 k6 s; R, a" _
/EnableRegistryBoot9 U' ?9 o0 ^4 Z
/RpcProtocol% [; o" W; d$ X4 A. L
/LogLevel# ~+ g5 \$ q0 u0 a" M& ]8 R
/EventlogLevel 等等 (限于篇幅未能全部列出)
* \6 B% a) Z9 o D0 v0 h& a与Zone 有关的属性,例如:/ u4 s, d% B0 p! g' k7 M3 }4 Y$ @6 o+ i
/SecureSecondaries* X% f: J2 G. H. o7 {' o8 O
/AllowUpdate! w: Q2 L, v/ ] q0 @: C/ _: F, d
/Aging
5 \' Q0 w: Q" m/ I+ @( J% Z /RefreshInterval Value( Y" s& G4 P) }& B d- D% Y
/NoRefreshInterval Value
# E* j$ E* o/ B- K3 F' N8 G, q 属性值:) C" l; Z( M% n
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
4 n1 ~) w( k9 w# p- d1 J7 s从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。9 Y/ j3 F6 v- j7 I. f2 N
命令: /Statistics
5 y: p1 H/ m# o! K 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。' u; r6 i9 l# N0 R0 T9 U
用法:; h0 e% k3 h' c8 k
dnscmd ServerName /Statistics [Filter|/Clear]
1 a! h5 o9 Q6 ~2 j) [% d% d4 ^( A+ ? 参数:: d6 K) J" Y3 g) g; i
ServerName * U3 H. r) C6 ?
服务器名称,含义同上。
& q, S. O. ?7 L可选参数介绍:
. W% z% m; k! s7 b8 l% R7 j& A" u共有两个参数,每次只能使用其中的一个。$ y# A. n, g* c. y. N. U$ ^+ q2 ~
1.过滤(Filter)
$ z6 A0 Q$ y8 G( q: T& B r 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。8 L- p4 B1 q0 K1 `5 d- s2 M
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
' T1 i$ g$ q- y+ c" a* G 00000001 -- Time6 @$ h/ _9 E6 `4 F+ `( k
00000002 -- Query& S# [* u8 C4 A( K+ m$ z
00000004 -- Query2
- C* i u7 L+ K 00000008 -- Recurse1 N+ ?0 m& Q! X% t4 d0 j9 J
00000010 -- Master$ n$ v* \3 {$ Q+ Y
00000020 -- Secondary2 A! o5 s- U, L$ R- P
00000040 -- Wins
) y, S+ N$ H z7 p! @% Y 00000100 -- Update
+ h0 }/ u2 n! e. q Z" x 00000200 -- SkwanSec) R0 R e/ f4 v* |4 ]$ t) ?2 _9 d
00000400 -- Ds# @% C- c6 X5 w& M2 {; R: w
00010000 -- Memory
; Z6 g! N/ N7 n8 m& ?; v: Z, z 00100000 -- PacketMem$ A" h! \4 ]. m E. i" ?
00040000 -- Dbase7 E* `- |4 m, a, W3 M7 w$ i
00080000 -- Records
: m/ d( t/ J' Y5 b% f7 Q6 w 00200000 -- NbstatMem$ s$ _) o, i% {% l- p; ?6 e) D
2.清除 /Clear ! [' W. c9 q5 `6 f0 y- a) _( v
这个参数用来清除统计信息。 k+ i* h& J+ S3 ~5 y* ~
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
. v$ r9 s) h, Y1 Y' s" H+ e1 K* i' L
$ F% _( V, f' y
R; S# ^% \5 N$ _
. _8 ~1 U8 K, U" t/ g |