本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。) i# b0 C0 Z. U7 y4 S
命令: /Info 0 a- N7 E) x6 ^ B1 C0 S- s7 U
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
4 \! q E8 S2 j% ] Z$ I 用法:' K1 F4 t6 Z1 U0 B2 M5 m
dnscmd ServerName /Info [Property]
, z8 w! O+ R% C) J; j" k 参数:$ U3 R) u* m1 w
ServerName
$ B% \+ S# F7 u1 p. Y+ s# @) \, V 服务器名称在上一篇中已经介绍过,此处省略。
, h( x6 l( w. W$ P [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。: P- \! o; Q$ L
下面是该命令使用的一个比较完整的例子:
; j% K1 }) Z6 }; f) q4 U 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
# z! H1 d$ f( z- sdnscmd 172.16.12.1 /info 只使用命令而不使用参数, E1 K% v0 ?/ s9 l# N u8 J; K
输出的信息:
) y2 h- d5 e4 w0 uDNS Server 172.16.12.1 Information:
) c& y- k! i, {9 k! j$ y# Q) tC:\>dnscmd 172.16.12.1 /info
m, r$ u/ }- IQuery result: 查询结果) H6 a4 X+ D) E: @5 z p* j
Server info: 服务器信息# a3 j2 `/ `1 ~! M m% C% P& P+ O
ptr = 00074718 端口
1 z( U/ r2 P/ C2 e# `' V server name = myserver.microsoft.com 服务器名称1 w7 T q9 L# g% B
version = C2000005 版本. s/ E0 s3 \3 e% V
DS container = c DS“容器”
" s- ^ M2 Z4 h, v0 v2 }9 Z. q- p Configuration: 配置信息 这些信息的含义请参考有关资料
4 d3 k: A7 ^% G6 D* Z' L dwLogLevel = 00000000
5 M' f- L3 I T' U) y& r' _' W dwDebugLevel = 00000000
7 C) _7 d$ X2 _ dwRpcProtocol = FFFFFFFF
0 I* O0 f, z6 n! p; I* f dwNameCheckFlag = 00000002
# ~) ?/ x8 j6 c* Y* c+ f cAddressAnswerLimit = 0
W9 o4 V( ]0 d dwRecursionRetry = 3
1 `3 F+ e& N, W, `, X5 Q2 B- ^ dwRecursionTimeout = 15! G; \; a% O4 T
dwDsPollingInterval = 300# ^4 l; `( V) F0 q
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料; U9 J( i* s1 ?5 j* J4 |" L
fBootMethod = 3 * r3 V0 Y2 X$ L0 H) D
fAdminConfigured = 1
6 f) C* b8 B5 O0 d) zfAllowUpdate = 1
* h* k# e& S& G& k5 }2 J6 O; MfDsAvailable = 1
% i7 |4 I) K7 A( O& t7 o# I6 t7 CfAutoReverseZones = 1 ; |- o3 P1 d) {2 L- N" p
fAutoCacheUpdate = 0
( N8 v) D; x+ ]5 N7 F! N3 AfSlave = 0
# e! O. u+ K8 j: L+ a" f4 L7 u5 efNoRecursion = 0
& H1 u* ]5 g1 [% w' ofRoundRobin = 1
4 M* U6 r2 @4 v& s$ }/ g3 ` vfLocalNetPriority = 1 8 f! b; F) S, P( x$ R5 z5 X3 S
fStrictFileParsing = 0
0 _$ X2 `/ a" ]2 i( G, f" zfLooseWildcarding = 0
7 S3 x, m5 @, R. d, p ifBindSecondaries = 1
H0 o+ L# g% KfWriteAuthorityNs = 0 5 A) a7 j* }+ e1 y7 B& m
Aging Configuration:
/ y) z- t. c( U+ h9 H5 u4 w$ HScavengingInterval = 0
# k4 P2 _$ G) c" h4 _6 yDefaultAgingState = 0 ( D3 T! b$ U5 | E+ ?9 ?
DefaultRefreshInterval = 168 4 } \$ f ^, T* t- Z+ w
DefaultNoRefreshInterval = 168
$ g& Q2 d0 s- E% C ServerAddresses:
/ K1 O( [" T0 G$ V I/ T1 J Addr Count = 1
9 J6 |2 Y8 z; z Addr[0] => 172.16.12.1
3 O6 o- h, S8 Q" c% Y ListenAddresses:" y" R4 Q/ G, N0 ^0 l# X. n
NULL IP Array.
5 s x$ g- G3 u: z6 a Forwarders:
6 R/ K+ j8 g, j8 E0 Z) f( C Addr Count = 1
( [. R' P$ j+ p; _ Addr[0] => 172.16.4.3
6 }) r# ]. U2 C. X, m1 o forward timeout = 5
7 J, r: `0 a2 f) j6 v' | slave = 0
! ~% L ]! V/ Q# ?Command completed successfully.命令顺利执行完毕
8 w6 J" n8 a8 F* o 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 " B) X7 V. g# @1 k& r
命令:/Config! P8 I5 v z y' w! ?( P' l
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。2 j1 p2 a: j% `+ e3 x6 u
6 W7 X+ c, s+ C) X& p 用法:
) @. i5 g% ~$ g. \* O) T dnscmd ServerName /Config [ZoneName |..AllZones] Property Value$ Q. p7 P( S, E! \2 h" z: D) s
参数
. n8 F: X% _9 h' f/ D& i! I( k ServerName :服务器名称,意义同上
. p6 j# W* K7 u- ~( g4 C F ZoneName:
" F4 q& x; C$ K 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ! L" }" K9 t7 ]- y3 X* G3 X
Property:
- @# ^: u- Y7 _/ U( \2 C' D 这个参数是属性。这里所说的属性有:
' V' h% m4 n, n& e& z7 m# z 与服务器有关的属性:例如:
' w1 N6 A. q5 e! H8 x7 u/EnableRegistryBoot
1 Z( P& m+ J6 {1 b) @* j) P/RpcProtocol
8 ^/ |3 s# Y& A+ i/LogLevel
0 _# W4 A5 l$ Y+ A: {/EventlogLevel 等等 (限于篇幅未能全部列出)
) ^$ V7 r# J) H) D9 g. {8 s- |4 w+ L与Zone 有关的属性,例如:
4 u4 x ^) h/ G) {: g /SecureSecondaries( `" ?+ J. p. t* ^9 c4 f
/AllowUpdate
8 U; @! u3 u: B8 ]+ E /Aging4 e- ~+ H4 k4 L/ R, K1 m$ a- P
/RefreshInterval Value0 `! s- C/ V$ \2 f
/NoRefreshInterval Value; ^3 T5 B M4 s* B3 I5 ]9 w/ s2 Q
属性值:3 t9 ?. K! q; c
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。& p/ c! d% `+ p0 H p4 F2 v1 z- f
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
' w) A$ R5 q4 B% \ 命令: /Statistics7 q Y" z+ Z6 T1 f+ ^: J* ?
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。1 d9 x8 [ W( [, o3 Z, b
用法:
/ X* `7 V0 L1 O* i$ \8 [ dnscmd ServerName /Statistics [Filter|/Clear], E) U8 a9 U1 |% d
参数:# M1 h$ T2 I5 h+ {
ServerName
9 s7 O! f5 H& w: [. M' E服务器名称,含义同上。
% }" \1 _; A% A; F3 g! g8 `8 b可选参数介绍:
5 Y* `* [2 h% O5 F# k共有两个参数,每次只能使用其中的一个。/ P( p5 h) ?, Z2 u2 K2 _
1.过滤(Filter)
# q1 k! I/ g; o' ~2 @" l. J# v 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
1 m8 K B5 ^1 J4 G7 I9 k) F5 p可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
$ R: U6 ?8 P5 h% C( w 00000001 -- Time2 ?0 x9 i1 x* [) U- @1 c
00000002 -- Query
0 s4 w6 z6 j, \3 \5 h) ^- W* F 00000004 -- Query2& [6 m* Q- I% G
00000008 -- Recurse# F$ \1 `1 Z# A& G
00000010 -- Master1 V! H4 h& w0 k/ F$ s5 o
00000020 -- Secondary
- ~- [/ J# g2 D! a 00000040 -- Wins/ d) X! [! w9 I1 H* G' v6 o
00000100 -- Update2 a1 F+ S9 ~8 z1 C; G
00000200 -- SkwanSec) S6 L, f/ U! W
00000400 -- Ds
2 w- i; i8 D6 L& q. ] 00010000 -- Memory$ q' K5 v( U, Q- e5 W2 f
00100000 -- PacketMem
P' J8 P- i# c& w& C% ~' ^ 00040000 -- Dbase0 a( W b5 x# B/ h5 q2 t
00080000 -- Records4 }$ }0 _+ c1 c; }7 }
00200000 -- NbstatMem6 Z( ]& H6 X% |( q M/ V% t% u. \
2.清除 /Clear
- b% Y& M; u8 k9 t5 e! V 这个参数用来清除统计信息。+ j8 i7 q3 z9 C* N/ @
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。7 h/ g; U$ V$ h& H4 c! `7 \
+ f8 A! f! C% ~
; k% Z9 C: C* `: u2 u% @& d& R( H
& p4 L5 u* J2 |$ x T, o |