本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
0 e( {/ }1 P! ~& n' S2 U8 p 命令: /Info
. R3 w7 m, m) S! c) ]. l 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。 g, b: a) X' o) |' W
用法:
, V# s! K2 p) r( p7 t: L3 p/ g* C dnscmd ServerName /Info [Property] & r& U* M, X5 Z2 `$ ?9 S
参数:8 `9 U& y4 X9 s( i
ServerName & g( A. \' T p2 A4 I' s
服务器名称在上一篇中已经介绍过,此处省略。 # X2 b, o: P3 ~) \. B1 c3 s- I6 S
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
5 P+ h" w7 a, V3 Q 下面是该命令使用的一个比较完整的例子:' K6 l- ]$ \# t* X; y
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
6 [% I" F# g5 d) {0 Z3 u: udnscmd 172.16.12.1 /info 只使用命令而不使用参数! d3 C% ?$ u$ W2 z
输出的信息:8 N! v4 Y! _/ o; Y [4 ^/ B% {
DNS Server 172.16.12.1 Information:( k) F0 X, j9 D
C:\>dnscmd 172.16.12.1 /info* m! R9 E) u2 d3 ~8 F T8 l
Query result: 查询结果: G v; P6 Y/ Y) ?( t1 T- ^. o
Server info: 服务器信息$ ?% C3 Y* O& C/ \3 O( k* {' s
ptr = 00074718 端口
, I$ F; _( ~6 R& b- w5 d server name = myserver.microsoft.com 服务器名称
# u6 R5 M: x: J2 H version = C2000005 版本7 ]% a* L+ q) H
DS container = c DS“容器”
# j) |/ Z2 u; T! j! q Configuration: 配置信息 这些信息的含义请参考有关资料
% a4 l; _3 m! c1 V dwLogLevel = 00000000
" i- N3 w$ O9 O% H: I) y$ n dwDebugLevel = 00000000
6 o1 N P" @* z dwRpcProtocol = FFFFFFFF4 |% h% B- M* f3 @
dwNameCheckFlag = 00000002
# R& L+ Q/ m' n* y( |5 F0 ~ cAddressAnswerLimit = 0$ z2 [- i! U' s3 ]
dwRecursionRetry = 39 }" c! }$ R, t. V* W
dwRecursionTimeout = 15# } L3 ]% E8 |. t; Q+ q% b$ v
dwDsPollingInterval = 3002 C# J9 T$ J' ]2 V/ \' ]. @* |. e
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
' m) ~$ E& T9 |* {5 @" F8 gfBootMethod = 3
+ k, e; _, z& ?5 @+ l: a1 K0 ~fAdminConfigured = 1
( L: v* b; t0 s g6 e: SfAllowUpdate = 1 8 a$ Y1 i c8 L4 f! R# ~, F# ]# w7 x
fDsAvailable = 1 ) E1 I6 H4 j2 A( y. U* X
fAutoReverseZones = 1 * M& g+ ]: C2 D3 O
fAutoCacheUpdate = 0 : r4 d) s3 Y- K K) i; ?
fSlave = 0
9 i- T9 `/ t0 i. p5 A) Y! Q. TfNoRecursion = 0 0 P, V+ }, v2 u" D* A3 o
fRoundRobin = 1
5 v! e1 ^8 V$ |3 k" CfLocalNetPriority = 1 . U1 @# |* T# d: `
fStrictFileParsing = 0
a" j% X6 V3 Z- u YfLooseWildcarding = 0 T5 |3 w# \6 s/ {' B B7 J5 e1 F! Y
fBindSecondaries = 1
0 p# h0 g; \. L- ^6 F0 _% F4 kfWriteAuthorityNs = 0
3 j y8 h5 }) Y0 G2 U1 \6 tAging Configuration: 3 r+ |. I9 a/ l/ c7 ~
ScavengingInterval = 0 ' G9 t, _3 J6 ]: }
DefaultAgingState = 0 / d/ X) p% m; m' v# ~
DefaultRefreshInterval = 168
# ^ @1 Y2 G4 ?8 c ]. RDefaultNoRefreshInterval = 168
* f- G$ f( W, U: j# } ServerAddresses:
& q& z; q9 w. ?5 ~% x Addr Count = 1
3 X8 m7 L J" @ w Addr[0] => 172.16.12.1* H3 K2 |& t; l' |' Q; H+ ?) ?
ListenAddresses:
6 D# p- K& G, u4 m6 ~ NULL IP Array.3 ^8 l a% q5 e7 t+ x
Forwarders:
5 K0 g d0 U; T# G Addr Count = 11 u- T. O4 s. \# H( H% T
Addr[0] => 172.16.4.3* v3 @. x3 }9 B, h9 l7 C1 i
forward timeout = 5
* e6 v \* R7 h0 h. ]8 J slave = 0
3 p/ D! u2 h. h) ]6 {4 ]1 \Command completed successfully.命令顺利执行完毕
, c* Z! I# R& I& n% { 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 ! m! A$ X9 p& r7 l& g1 q
命令:/Config
9 O8 j; ]( R, d( `# ]6 h 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
4 N, n6 W, m9 |0 z& o$ b; y9 j6 Z$ n5 x1 w W8 k% o
用法:
) K! J0 [, F9 {$ E+ R2 L9 K dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
% N: [4 F9 W7 e L4 _7 l5 l 参数0 S3 O& |" {; O3 U7 W
ServerName :服务器名称,意义同上 ' v+ }6 f' K; f1 s% @
ZoneName:
) I& s5 Z) ~% d: w 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
$ _% B" |( ^/ s1 W% b \* t Property:
" z& l) R. B, H0 D' h& v8 O9 g 这个参数是属性。这里所说的属性有:
7 g) x, @ J5 _0 r0 w* B) i 与服务器有关的属性:例如:
% n' ], e9 c! c- K+ m) e1 C4 P7 r/EnableRegistryBoot4 r. Y# u; n+ s i6 h0 v7 X
/RpcProtocol5 i: i2 x( B$ G% K/ c. m+ R9 c- k
/LogLevel
$ v6 g- E7 D. V, Y/EventlogLevel 等等 (限于篇幅未能全部列出)" T: o. o! ?, U) L
与Zone 有关的属性,例如:
. @4 S+ [) C; T( O) O6 B9 C /SecureSecondaries: B9 n5 C/ x( g7 F' c
/AllowUpdate
0 |. [0 } T/ l% I6 f8 i /Aging
2 |3 G( M5 T" A5 E$ ^0 U /RefreshInterval Value
: G5 F6 b0 v* X1 A8 Q' ]% h /NoRefreshInterval Value
# b5 [8 v5 g$ b' J. s+ ^/ z( m 属性值:0 N4 ]1 M/ z+ N+ t1 I
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
, O6 V. r3 H( ]/ k5 o从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
( {) c4 R0 t" d4 Z( M2 K 命令: /Statistics6 Q) Z8 m5 `! R
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。7 h, z- F/ W1 p: A+ f4 F1 M& p
用法:% R: o$ U* I9 e$ \" D- s
dnscmd ServerName /Statistics [Filter|/Clear]8 {. N+ N/ w" f0 ?. r
参数:
4 i" [, {2 z: {3 K+ yServerName
& x' b6 |, W, p7 t& X9 I服务器名称,含义同上。; a U8 i3 z m2 |5 Y! e; O
可选参数介绍:5 j' b7 R( U8 Y, m1 I' U- h
共有两个参数,每次只能使用其中的一个。
9 [1 o8 \+ |" E3 ^# |, }9 k4 ~ 1.过滤(Filter)- o0 q1 L6 a- Q' v1 {
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。7 ?; b8 w# B* P5 I
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
# a6 `0 N* I Z6 H5 P" a1 M 00000001 -- Time
- x8 M/ |- w/ F4 Z 00000002 -- Query
1 r* B. H) P! C0 J! s0 `5 k 00000004 -- Query2# ^. k t$ Y" r1 a6 R2 a1 x& @0 Y+ j
00000008 -- Recurse, r6 ?3 r; H& z
00000010 -- Master% c$ r' W. g y" b
00000020 -- Secondary1 @0 |0 P% J. B Z
00000040 -- Wins
7 R+ }2 K: g4 }2 o2 E0 l 00000100 -- Update+ N( |2 o( @8 l' \- q
00000200 -- SkwanSec0 m: w' _! S" H5 Y, e1 @, J
00000400 -- Ds
' O$ A$ p) f) V' w, C 00010000 -- Memory4 ~) ^, l# x2 d. o
00100000 -- PacketMem
7 y5 y7 M! U6 n' n5 Y& |3 S% F% } 00040000 -- Dbase5 }- y% H- [) G
00080000 -- Records8 c0 {. X: T$ a
00200000 -- NbstatMem D, `5 q5 S6 t; ~
2.清除 /Clear
4 ~9 I" z- c$ [, }( d( W( J7 x4 t 这个参数用来清除统计信息。
% v) a$ S' G$ K$ u7 A; w( w1 y 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。; W- S' L5 h, D/ D
; t; `3 |4 n; o, {# t5 T
8 Q) B! y! ?7 n7 b- Z3 n: |) F; ^$ ^; a
|