本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。( k+ |- X, m& C
命令: /Info
- p6 [* g v; o6 A5 D# i m 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
7 i! p! k- S' q3 B! _0 G 用法:# A+ n7 u" H! c; }
dnscmd ServerName /Info [Property]
) [4 Q) f3 G/ z# X# k l% a) a 参数:
, E9 ^3 m3 ]* ?# i ServerName 6 w: q9 @! @# R5 t
服务器名称在上一篇中已经介绍过,此处省略。
4 o( O0 z0 _: b9 g- C5 O# J [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。* b' z* }' {/ k- Y" p3 m+ F
下面是该命令使用的一个比较完整的例子:
6 K& A+ U$ l; o# b7 p 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
4 c5 W6 Q6 `) D; fdnscmd 172.16.12.1 /info 只使用命令而不使用参数
( H; g, d( x/ e( p输出的信息:" d7 X$ t, [% K0 t3 U2 g
DNS Server 172.16.12.1 Information:+ S2 i: g6 N' N" {
C:\>dnscmd 172.16.12.1 /info+ N& O* _% h. H: x) c8 H) k
Query result: 查询结果
4 ^' z. y" T6 x! RServer info: 服务器信息7 S: ~ ~: h! S1 W* G* H
ptr = 00074718 端口& m/ ~& f( J8 I2 O" P5 H
server name = myserver.microsoft.com 服务器名称- P- Q- F2 v/ c6 J" z% x2 B' L$ ]7 R& G
version = C2000005 版本
1 C- L# ?! K. J" m' N' q% N DS container = c DS“容器”! m5 a6 Q: u8 Z" e! `& q; o
Configuration: 配置信息 这些信息的含义请参考有关资料+ B& b* n6 ~4 L1 k/ \ |- D3 ]
dwLogLevel = 00000000
$ B$ o- u5 S8 Y$ [ dwDebugLevel = 00000000" N6 N' j, s, ?2 n
dwRpcProtocol = FFFFFFFF
0 S: O; D* d3 P dwNameCheckFlag = 00000002. W( M3 l0 m2 I h9 n" V
cAddressAnswerLimit = 0
m0 y0 z) [# x. b dwRecursionRetry = 3
; I3 ?3 ~0 c/ c" b. \2 G& u dwRecursionTimeout = 15
* _' {7 G! h9 J; ` dwDsPollingInterval = 300% r' q! T9 z2 j6 B7 I
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料3 P+ h/ ^) e4 R: U- m! Q
fBootMethod = 3
; H8 b7 B& h! t/ e8 w- ~fAdminConfigured = 1
. u8 ? t9 m0 T, T+ D* m) afAllowUpdate = 1
' {1 M. E! r' p$ ^! ^fDsAvailable = 1 2 s P3 Q. _ x" i; G# v( }! G! C
fAutoReverseZones = 1
1 T$ d% R( P. J- m0 N% ^9 XfAutoCacheUpdate = 0
6 s( D" s: {( S9 u5 MfSlave = 0 q( S" B1 n- s. F0 q+ S) d
fNoRecursion = 0 1 W8 Y5 |( ~' A$ x7 i
fRoundRobin = 1
" `. D1 ^" @; V* V$ y) o; bfLocalNetPriority = 1
4 o# R) x- }) wfStrictFileParsing = 0
4 b" n0 R! k' d& m' u* H5 Q5 r' Y6 NfLooseWildcarding = 0
: l$ N7 q% ~! @; [2 B t4 cfBindSecondaries = 1 , o! L0 p( m$ Y! P
fWriteAuthorityNs = 0
* |9 C# u) J; {) aAging Configuration: * }& x: n F& `, B2 q& s3 D/ I% s
ScavengingInterval = 0 $ r. t( x+ K0 Y7 `) D+ u7 {; L
DefaultAgingState = 0 ; d) H/ ~0 ?1 a0 {% a! z* n# q
DefaultRefreshInterval = 168 0 i1 ~$ A' u9 Z! I* Y
DefaultNoRefreshInterval = 168
: [% c6 {- h) s* N+ m& e% M- y ServerAddresses:
* }% G8 C$ }4 w4 E8 h$ O Addr Count = 12 {; o' X' X9 E! f: T A
Addr[0] => 172.16.12.1
) j/ k# c' q! @' ? Q- W" E m ListenAddresses:
% [2 ?! {/ @5 D0 W NULL IP Array.# d8 [ `# P8 a4 s) b! n0 k
Forwarders:6 K( N: l. S" e) K
Addr Count = 1
* Q3 g- m! H6 E6 s; w Addr[0] => 172.16.4.3
1 @3 j6 N: w+ }* U forward timeout = 5
; @' X( b8 U7 U% o slave = 0! u/ ^$ N5 s5 U) l. d" L' e9 J' @
Command completed successfully.命令顺利执行完毕
# l' F% b' f8 z. } 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
6 Y F: w& y7 v0 l; m4 T6 K r; S: q8 { 命令:/Config
8 t( d5 A* U* e+ a* A% u 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
8 x2 K% R2 R" ]4 | {: t$ E: d6 a; F: C5 _# m1 _1 N% Y
用法:, ~" v# m9 @2 C7 I, {
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value- `* b' H% o/ S" S1 B
参数
4 c# j* E( g' ` ServerName :服务器名称,意义同上 / b- j! c1 V" A# z
ZoneName:
f. z3 j/ b& b' n9 {( { 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
9 }4 A% q. q- W" d1 J Property: 8 |- K0 u$ y6 f* D
这个参数是属性。这里所说的属性有:
8 i7 l6 S4 z" \- E @ 与服务器有关的属性:例如:
$ H1 f, S* e5 x$ @. G9 L/EnableRegistryBoot, C0 Z# g7 z3 C! t: E
/RpcProtocol& y' }4 V5 B8 f- @* ^; m
/LogLevel: b. q" V# T8 r( V
/EventlogLevel 等等 (限于篇幅未能全部列出)0 z' P8 f- D0 i* G" n
与Zone 有关的属性,例如:
5 w; l$ L. h: m! |. `6 l6 L4 {. W /SecureSecondaries
% U- G: K; e/ I F/ s /AllowUpdate' P1 {* X2 c( V: l7 c8 g# A- K
/Aging* I' h1 J. z% ]1 Z _
/RefreshInterval Value
9 q: X1 S- v+ s6 m5 }% G /NoRefreshInterval Value
2 P0 |+ w, ^: v( n" u! T+ Z( S; ` 属性值:* Q! t# S: A6 C; b& W3 o+ D" Q' W; `
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
' `, S* I& F3 t6 s4 w. ~; C- D8 K从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。1 H8 @2 }# W. I
命令: /Statistics) l1 p* L9 d/ X5 B$ [( j2 L
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。; Z. g7 o7 E- z3 D$ o+ M# o' M
用法:5 r8 N2 @! V6 k: D, C2 b
dnscmd ServerName /Statistics [Filter|/Clear]5 u! V2 C8 E! A( G* J
参数:5 M( w5 l0 V- f* C* W+ U5 j
ServerName % Z. \& N' N2 T. J- f
服务器名称,含义同上。
1 \' |" Q5 y x) t9 \% V& {/ O% A可选参数介绍:
1 Z3 y s% c* C& |9 o0 ]+ O4 o: Q共有两个参数,每次只能使用其中的一个。
p, W. Z. c0 q* i3 g# l6 f4 b 1.过滤(Filter)2 J- B2 H# o/ I& w# \' ^
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。. G$ q+ y8 H' H
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
, J( s- I2 `& T' { 00000001 -- Time3 a2 i! W$ T! C/ b4 ?
00000002 -- Query: h% ?) q: a/ S e: G' R+ T
00000004 -- Query27 o7 g/ \+ M" B) C
00000008 -- Recurse
6 Y4 f. W0 `' J 00000010 -- Master
' y8 K( k+ b% ]; L9 g 00000020 -- Secondary$ q; a, d+ W1 ^6 W( X5 f- B
00000040 -- Wins
: T; [# V U" H 00000100 -- Update* G% I- Y3 {3 ` I0 e
00000200 -- SkwanSec' V- h5 F+ z9 K) Q) [2 f
00000400 -- Ds9 N! j. `8 I; v g) o9 Y; j
00010000 -- Memory
& x( i+ t6 r% l 00100000 -- PacketMem
5 ^) c) e& W2 V8 J. W" W 00040000 -- Dbase/ O* e8 t8 p: J% t# F( x$ n
00080000 -- Records& v8 V' X9 N5 ^
00200000 -- NbstatMem4 l1 N3 j- t* M: }. W6 h
2.清除 /Clear * ?& B/ M: i7 g: `# B F
这个参数用来清除统计信息。
1 X+ r- r" X5 a 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
6 l3 e* B- p- r
7 R: t+ }8 O3 t3 x 1 e5 s+ d5 i% }- X
5 U2 G3 e# M* @3 g$ s
|