本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
. [: e/ p. u/ R( s: E M# J 命令: /Info # ]+ }# J) V& ~
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。* i& Q0 o/ x( z- j& T! o
用法:+ h4 z6 n* s4 d+ b; \( T
dnscmd ServerName /Info [Property]
6 w" ^& t1 t3 p 参数:! F) U) ~5 j! k
ServerName 3 ?5 F) c5 Y; _$ v( X% q N0 O
服务器名称在上一篇中已经介绍过,此处省略。
* E; ^9 C! l+ _2 J% I, I2 m7 C [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。5 v1 u9 d# N, [9 k% N; o
下面是该命令使用的一个比较完整的例子:
, |6 e( X& ]; i3 G: v# G 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
( n! S! l1 Z" K% H+ gdnscmd 172.16.12.1 /info 只使用命令而不使用参数
2 |* \- _4 B) ?' s/ W输出的信息:
. A- E {; X; n1 M! lDNS Server 172.16.12.1 Information:1 `# j+ M8 m2 |+ _( b/ ^) Z: E
C:\>dnscmd 172.16.12.1 /info
' o O2 d5 \# G! R& ~: IQuery result: 查询结果2 l+ f# [+ D ^
Server info: 服务器信息
. V9 Z( }* }* I, a ptr = 00074718 端口
/ J4 g$ I2 M; x) g+ U; _ server name = myserver.microsoft.com 服务器名称( _! Z" `8 @) G$ C. w, |
version = C2000005 版本/ n7 e( F# M- @3 |- {9 V: `
DS container = c DS“容器”% E" z( @/ V1 Q _
Configuration: 配置信息 这些信息的含义请参考有关资料# m% x* k/ E' n5 \$ D
dwLogLevel = 000000008 |3 z7 X/ @4 Z7 l& e. F/ }
dwDebugLevel = 00000000
, M# B: J' w1 w( c dwRpcProtocol = FFFFFFFF
1 q& ]8 w5 g) o: E6 X/ @, } dwNameCheckFlag = 000000025 M! [, ]1 {6 e+ C. B8 Q
cAddressAnswerLimit = 0: I6 `1 w3 X/ R# ]
dwRecursionRetry = 3
- K( u9 M; y0 ^4 q4 t5 Q' c' t# f dwRecursionTimeout = 15
# K5 [1 Q" e/ v6 L! T8 z dwDsPollingInterval = 3007 L0 b" e: O" _* U/ e9 S; Z0 h
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
5 U- C8 m6 @* U7 S0 Q& K. LfBootMethod = 3
( r w" O1 K/ x dfAdminConfigured = 1
3 O, D* {) ] hfAllowUpdate = 1 7 d! [4 I' i2 b8 W7 |( e6 L7 G
fDsAvailable = 1 ' k9 i& O2 ~, C; M7 K
fAutoReverseZones = 1
6 f- A$ C, H! w, p5 L: C! @. gfAutoCacheUpdate = 0
" f6 [! ]# Q( r5 IfSlave = 0
" V& `# R- {! v9 I# o# Z& Z7 y6 W! R6 YfNoRecursion = 0
' h5 l! b/ }3 `5 s" T3 _fRoundRobin = 1
: i. C: \4 {4 {fLocalNetPriority = 1
* t1 F' _. E0 R/ u3 t9 n- L8 }' pfStrictFileParsing = 0
# j4 K# H M; E% \* \7 KfLooseWildcarding = 0
+ t# E0 u8 H7 [3 i1 C: n/ NfBindSecondaries = 1
$ f* u: V+ f2 a/ x6 M6 P I9 ]fWriteAuthorityNs = 0 1 l+ c' ^1 T" V e8 ~4 e; G
Aging Configuration:
3 w h" q' h0 a9 _ScavengingInterval = 0
0 N0 n! X6 ` l8 ?DefaultAgingState = 0 : z: T7 s; X: w2 t! Z( V
DefaultRefreshInterval = 168 # B# G0 t6 m( B$ |# _
DefaultNoRefreshInterval = 168 ) J+ z9 l# t: ?& s2 V2 t
ServerAddresses: 4 i6 t b1 v6 A# ~! _7 K8 `
Addr Count = 1
% q O ]% w5 t& `0 t Addr[0] => 172.16.12.1
$ [; v% i1 k+ S% o' y ListenAddresses:
, \6 P- \* `0 i" k3 { NULL IP Array.; G6 i6 U: e) P7 N$ q7 b3 f
Forwarders:8 l1 U, Z+ n' {; w" ~! s' ^# m
Addr Count = 1, d3 y3 j5 D5 O6 \6 G* c7 q
Addr[0] => 172.16.4.3# @- x5 f0 w6 Y8 p9 `5 x
forward timeout = 54 s0 K5 b& q. i: O. l" M3 U- W1 ^
slave = 0
2 A4 y! w6 {. y c4 eCommand completed successfully.命令顺利执行完毕
$ r0 [* E/ K1 N( r7 T 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
8 ?. H/ `7 K' l: ~* x6 U# ` 命令:/Config
' P; A: A+ k. x4 P4 k 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
' y+ F$ M; y" U" Z& q4 d1 O$ X* p& F, O: p# S# F! D+ J! i
用法:- ^# G6 \" M$ n* y: X
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value: ^" {6 h7 f' j( a4 B* r4 z
参数8 a# z: f8 T8 ]1 w7 m& O
ServerName :服务器名称,意义同上 : [: `* W: Q2 s8 |
ZoneName:2 L! U( p5 R& F, I
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 7 [4 s @& j$ x! c4 T
Property:
: Y5 J) _: @; i, @- Q" ^- I# Y1 |5 S 这个参数是属性。这里所说的属性有:
5 g/ O0 N7 j/ q& r 与服务器有关的属性:例如:9 f9 @( y9 E& `7 N* H( K
/EnableRegistryBoot/ Z, w4 V2 C- O
/RpcProtocol
! i9 g8 P4 z8 Y/LogLevel, m7 I. |3 p& N
/EventlogLevel 等等 (限于篇幅未能全部列出)
3 f @3 Y3 S2 P5 p. M( f0 q与Zone 有关的属性,例如:
3 }" d' A% I) N: x' E' ~) T: ^ /SecureSecondaries
( u' ^9 g7 w7 m2 }" J5 R7 S4 F. `- T /AllowUpdate
* G# C! ?$ U8 I) [# ] /Aging
6 X) t" T. V. Q! R$ k I8 l& {# N) B /RefreshInterval Value
( g K+ m0 {$ P /NoRefreshInterval Value: _' q" [. ~1 K9 O0 U+ E
属性值:8 \. t/ f4 p! k7 [
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
; k! V9 x/ X% S9 s4 a7 }8 f' @从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
& j5 T5 e V3 D+ C, t) @ 命令: /Statistics
+ H: q k6 L! J 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
2 M' H% `( N! C, W) T7 K 用法:8 ?7 I( h; d/ p$ _! h5 ?) S5 t
dnscmd ServerName /Statistics [Filter|/Clear], b& a- w6 w3 b8 {: y$ f* R3 X
参数:
3 G* O4 {- Y k% w" w9 k$ qServerName
! b9 e2 T: Y. N" T: l6 `服务器名称,含义同上。3 @# G( s8 L4 [% Z* c( g) V
可选参数介绍:+ k& Q* m9 Z$ A( v ]6 i
共有两个参数,每次只能使用其中的一个。$ w/ k+ k$ @5 C" _0 u. ~
1.过滤(Filter), A u, V6 f( A" Q
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。1 {/ p2 K; B, ^! V3 f; L. P
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ! F" o! L( V& d7 {% G+ t; R
00000001 -- Time
4 m, [% S% Y4 E+ B) v9 T2 t 00000002 -- Query
+ E: T E! Q5 c/ q/ h/ K$ o 00000004 -- Query2
2 i+ m8 @2 _- b5 u T5 b 00000008 -- Recurse c: G& ~% A* e. x( E0 ]% I9 ] R# M
00000010 -- Master
% W: V7 c9 u9 _: T 00000020 -- Secondary0 A3 o: m! f) w& F4 Z) }
00000040 -- Wins
6 Y- G# L, H8 i; m \, V+ u6 e7 o( A$ @ 00000100 -- Update _$ R- O! V; U6 k- Y" S) l
00000200 -- SkwanSec! D" E. V) \' O6 N/ R2 M1 b' U( A
00000400 -- Ds
9 o: U2 t& I3 w: b9 T- e 00010000 -- Memory
}. X0 l- @) u1 n) N9 ` 00100000 -- PacketMem1 b! X* }! \& {" s; ^
00040000 -- Dbase
2 g c' r$ n- T8 u) e+ g 00080000 -- Records$ y9 n7 i' W0 G# A- x
00200000 -- NbstatMem% d! m8 I5 C2 o+ N; E
2.清除 /Clear , W7 O7 Y) A1 w" O$ s$ [8 L3 [
这个参数用来清除统计信息。( C% d0 F. C( f3 \
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。" O: m3 n" A2 o! k5 ~0 r
0 j9 C* f) P" T 4 J! a y* v; S/ ^
7 I/ n! i: u% x
|