本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
, z" Y) S S1 Z" S 命令: /Info ' K4 x, v `/ N5 j& F2 X
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。1 P. K' J* |% S3 h {. x
用法:
$ U/ [ p* | s! C9 V dnscmd ServerName /Info [Property] ' R# h- P/ O; a$ X/ d
参数:1 }: D! Z; b$ z1 {' K
ServerName ' l' e$ }. d1 B! h g% g
服务器名称在上一篇中已经介绍过,此处省略。 8 c2 M7 W3 A+ H( s* P, x" t
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。+ Z/ ~$ \: @9 Z( y
下面是该命令使用的一个比较完整的例子:" F0 K9 w* s; I2 w/ Z0 Y8 V
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
% b6 G4 ]5 V3 N- mdnscmd 172.16.12.1 /info 只使用命令而不使用参数
. Y5 p+ X( j' X( t输出的信息:; h/ [5 j# i2 O
DNS Server 172.16.12.1 Information:
6 U* e# g7 |1 e# UC:\>dnscmd 172.16.12.1 /info
% b1 Y0 F; \* e0 k) l: s* n$ pQuery result: 查询结果
; U- N+ z7 \! D3 CServer info: 服务器信息
) V6 Y6 |- n6 _/ E4 h) r. @; J ptr = 00074718 端口
$ ?! M' J, }& m5 b* ~ server name = myserver.microsoft.com 服务器名称
0 F) V8 M( Y9 B, V" N3 R3 @! R! N version = C2000005 版本% @1 k; _( P0 J" t+ D4 a" h0 Y
DS container = c DS“容器”
' I1 p! j/ z" m1 \- N Configuration: 配置信息 这些信息的含义请参考有关资料' H- M) r, R) B# I5 y r
dwLogLevel = 00000000
2 \6 ~" s1 Q7 Z2 W6 H1 h dwDebugLevel = 00000000 n, O; R& e* r# Y2 M( S
dwRpcProtocol = FFFFFFFF7 n) K. f5 a3 a4 i1 I* m
dwNameCheckFlag = 00000002* \% p8 W, P) ]. R8 M" Y
cAddressAnswerLimit = 0) P1 j2 q+ s4 P! T5 K+ y3 o
dwRecursionRetry = 3# v! S5 r6 b8 m' I9 K0 I1 d
dwRecursionTimeout = 15
7 o% B- }* \) r$ I- s dwDsPollingInterval = 3005 ? J0 R t! @/ q, v. n5 \: f8 R
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料: p/ [1 Y: V) i0 n4 m5 w3 G9 e
fBootMethod = 3
. I4 G0 C9 z4 FfAdminConfigured = 1 / A5 J+ H& H& e; v; u- t6 V
fAllowUpdate = 1 , E* u% d9 e; r6 ]
fDsAvailable = 1 : g9 \" G( w3 a& b
fAutoReverseZones = 1 " h$ t' Q/ S! s1 f- N( B" Z) X+ b
fAutoCacheUpdate = 0 $ i4 K& b- B0 ~9 a2 J$ h
fSlave = 0
& [$ S5 J( E! Q( B I# afNoRecursion = 0 $ q& B5 J2 w2 I
fRoundRobin = 1 " q# U: i- B$ `
fLocalNetPriority = 1
4 p% v" ], }" `# ?% NfStrictFileParsing = 0 W0 g9 g" K% ?) r6 F/ S2 k/ n
fLooseWildcarding = 0
- \" \+ G \. V; Y1 WfBindSecondaries = 1 3 z# v% j s/ w4 _" j
fWriteAuthorityNs = 0
4 ]& G, {/ h+ Q/ d. aAging Configuration:
; C4 D% k4 D- _. W8 Z! |( EScavengingInterval = 0 9 e9 ~. L" a* [7 F$ q
DefaultAgingState = 0 4 j% ]' b8 v( g2 l
DefaultRefreshInterval = 168
w) J; @2 }1 l, `1 `5 \* `$ dDefaultNoRefreshInterval = 168
8 V9 s$ b4 K3 ]2 J ServerAddresses: O. N; C" m. F
Addr Count = 1
6 e- V- k+ K4 y$ |$ Y) e Addr[0] => 172.16.12.1/ `6 n8 p8 ~- u( v$ I
ListenAddresses:
) D+ s6 o% R1 j) H! K$ t: M NULL IP Array.8 O6 J8 O/ `2 Y9 A! ]
Forwarders:7 b% s2 O3 ?( ?4 A/ d
Addr Count = 1
$ y" X- @2 _5 T- O Addr[0] => 172.16.4.39 g: [0 E' @+ A# |- l G
forward timeout = 5; n3 v3 [) T6 D
slave = 0# | y1 ~ V1 F$ W
Command completed successfully.命令顺利执行完毕 0 i! |& U7 H" D. C0 L
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 8 q' [' K; v$ z8 D: }
命令:/Config; T7 y0 b: j7 _, c3 ~& z) R
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。; L' P; t5 d7 c% l" ]
s. p* v& O3 C) W- ~/ x. n6 m 用法:4 _# [$ H3 u# {" W
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value& ~( N0 ~# V( m# o2 F: p; b
参数' ?% e6 B* \2 Z# |
ServerName :服务器名称,意义同上 0 ?: ~& i! y; n: ?3 c. |5 W1 t+ D
ZoneName:: d+ p2 w4 O6 b
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
" G, W5 h; H' B! X Property: 4 G' Y' C# T. G+ s
这个参数是属性。这里所说的属性有:
6 p) _, c: v* F5 h6 X8 [' o! d$ W 与服务器有关的属性:例如:
9 w* b9 |2 l9 E, |% v* \4 o( F8 m/EnableRegistryBoot( h6 a$ o; m$ ~4 l
/RpcProtocol* u# n! \+ V a! R! a1 H$ W
/LogLevel/ P2 F- [( x7 s0 J, u
/EventlogLevel 等等 (限于篇幅未能全部列出)5 K; G4 O0 ~8 Y/ y5 `- z
与Zone 有关的属性,例如:# \5 Y5 O; p; R3 j2 V4 h
/SecureSecondaries7 q, W6 V g3 w
/AllowUpdate' \5 d4 h( H. \7 O2 ~
/Aging) j- J5 V. t- `4 o8 f
/RefreshInterval Value7 i, K) x+ Q+ ?# Z+ M
/NoRefreshInterval Value
& s* e$ q' x0 a' Q7 _ 属性值:
% F% ^$ d1 F/ S) v. s 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。0 y& ?4 i) M7 S- Q8 F b4 I9 T# G9 [8 ?
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。; m9 s) _8 Q i! A) G9 g/ `* Y
命令: /Statistics
! y% g( _$ O7 D* l 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。, b; e) E6 N$ _( T J
用法:" e6 x; B' q+ m7 g% d
dnscmd ServerName /Statistics [Filter|/Clear], }5 d& i6 {5 G( O; I
参数:
" x: }+ [3 W6 O; S" y1 D# f8 w# EServerName ! F' P1 O2 n2 T/ O C3 y1 h, o8 A
服务器名称,含义同上。5 h2 ?. m1 z4 w- o" `. a$ D
可选参数介绍:
; [" H$ Q4 N1 Y- Y/ l6 v共有两个参数,每次只能使用其中的一个。" Y# }9 F0 O6 k6 `
1.过滤(Filter)/ a5 @, x \5 {5 @0 r$ K- w
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。8 U8 j% T% Q% S; A
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
! x* z, ?9 v* l8 z. c 00000001 -- Time
$ n l3 ^" z# @9 E 00000002 -- Query" [3 L5 w' N: J" A6 N0 b
00000004 -- Query2
: |8 z: b5 v" X$ |- X1 \% R 00000008 -- Recurse
$ [( ]7 k( x: {$ g# e% T" E. k 00000010 -- Master+ j- T W7 H* z# u( P/ @% z7 S
00000020 -- Secondary) H8 Z/ l/ x" J& o: J9 c9 k
00000040 -- Wins
* O3 r6 l e* z- v& ]: K5 r" K0 Y 00000100 -- Update
$ o9 w; j. T0 O3 y 00000200 -- SkwanSec
7 N [9 b% M# O 00000400 -- Ds' j# Y9 o8 a/ S: C, D6 _7 @6 [
00010000 -- Memory$ X$ Q b) |2 X2 N$ o$ k3 @/ h
00100000 -- PacketMem' d) H3 ^9 m# \
00040000 -- Dbase; G2 a, E, u* m
00080000 -- Records
. X& Z. |$ A$ W$ A$ A) Q) B+ x 00200000 -- NbstatMem
. z* { [) U' Y: w" s 2.清除 /Clear
U& Z( B+ v# w$ K9 J 这个参数用来清除统计信息。
* b9 H& x8 U2 N! H* G+ J 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
. ]3 I/ O) e" m3 q0 X2 J, }
$ `( G, x6 D( y+ \2 i
8 X+ w7 d" h1 i% w1 T9 h: N6 h; I% f
|