本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。" R# q7 \8 o! t) [; Z
命令: /Info
' x( z3 d$ Q9 G: ], R 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。' s; I, ^$ f; J- t% W4 Y" N
用法:: n! A0 T; N7 p- h5 J! W
dnscmd ServerName /Info [Property]
2 e% ]/ f9 A4 f9 f5 Q, [' p% e 参数:" O: ?; C) G" I7 H h; B
ServerName $ t/ c( P0 f! s7 h+ ?
服务器名称在上一篇中已经介绍过,此处省略。 ]3 h: T1 b' Z R% K) \ K
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。; B7 S& S/ C% R# o$ k- b$ C$ b' o
下面是该命令使用的一个比较完整的例子:
$ z7 [& P/ O% \; T 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
6 a# M% ^0 F5 P3 p/ d# idnscmd 172.16.12.1 /info 只使用命令而不使用参数
* H5 O2 |9 ~5 I% z$ p8 C8 C输出的信息:
" [7 k8 P7 f/ C6 r0 C0 V! j8 oDNS Server 172.16.12.1 Information:# T7 h# l; `7 I S& p
C:\>dnscmd 172.16.12.1 /info
# H' ?$ X" A/ j2 O' z+ N$ qQuery result: 查询结果
, {4 N5 m: D- QServer info: 服务器信息% Y, _* w' r7 E+ i# n
ptr = 00074718 端口
+ z+ W. k% y; r# C: T server name = myserver.microsoft.com 服务器名称
8 f1 Y6 b. g5 h( J# f) n1 W version = C2000005 版本
1 k0 d; [9 t1 \$ @% x DS container = c DS“容器”
; v8 ]( R3 x9 Q' r {% w% J: N+ n Configuration: 配置信息 这些信息的含义请参考有关资料& i' `; W6 Z8 e4 g
dwLogLevel = 00000000
8 O. p% c. S6 R/ V8 ?7 r; b dwDebugLevel = 000000006 j" K! F g+ c% o( |
dwRpcProtocol = FFFFFFFF! e& R4 T) w0 T, e4 L5 d
dwNameCheckFlag = 00000002
: \' Q# K" a- p$ d+ e, n cAddressAnswerLimit = 0
9 f% z/ I# \) A9 h2 q dwRecursionRetry = 3
4 n2 v) Q l6 } ^1 M9 G dwRecursionTimeout = 157 v& e c- i: Y3 h; _3 U2 \5 \
dwDsPollingInterval = 3004 f6 s+ d6 i, J0 O* y. s
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料, V9 B; M3 h6 X
fBootMethod = 3 2 W4 l+ z8 I0 x% Q. x
fAdminConfigured = 1
0 |: y6 M7 G4 P5 t1 T! Q0 F; mfAllowUpdate = 1
$ \2 ?( b" z8 ]fDsAvailable = 1
1 d9 O1 X2 y! H2 y0 n p2 YfAutoReverseZones = 1 2 z* b3 {2 O2 l5 L# @. Q( z! F4 i
fAutoCacheUpdate = 0
* ~3 f$ S% C, T( X2 T, M: c% bfSlave = 0 / Q. [, \0 g2 Q, t
fNoRecursion = 0 $ l$ i6 y$ q+ t( u& l( ^* R, p" }3 g# x5 [
fRoundRobin = 1
0 Z/ J; ]8 \+ p$ r7 |! C! FfLocalNetPriority = 1
- { u1 r$ |# XfStrictFileParsing = 0 8 Z Q% B8 f; H X
fLooseWildcarding = 0 $ \/ p* C% b6 |( h( A% o
fBindSecondaries = 1
! e6 C5 J, l1 @' \fWriteAuthorityNs = 0 7 V( G8 I5 G& b9 R( s! p
Aging Configuration: 6 b5 _1 V, V* b
ScavengingInterval = 0
% G( b6 I9 c1 A: k: tDefaultAgingState = 0
8 }4 @& N* @, k- J- [* @9 I6 ^DefaultRefreshInterval = 168
. r2 @$ d, Z1 j" U! r* U/ S. FDefaultNoRefreshInterval = 168
5 {+ f/ h4 L" T- S7 E6 a8 V ServerAddresses: ' G; u" y+ v3 z8 S9 K, J1 D
Addr Count = 1+ k" k5 ^5 P+ Q
Addr[0] => 172.16.12.19 N- U& z; B$ o9 F' u" t1 S- u' h
ListenAddresses:
$ Z2 |/ K( o# j* ]2 ` NULL IP Array.+ F/ m3 o7 l" N" l% }
Forwarders:
& x: E+ T1 T9 {8 l2 \& I Addr Count = 1" G# z: h5 M5 [# N( ^1 z- E+ x5 Z
Addr[0] => 172.16.4.30 E0 Y. T# f9 H0 d, q
forward timeout = 5
: ~$ e0 c( i# S, v$ w3 \/ G slave = 0, n) ~: x- _- ]) T
Command completed successfully.命令顺利执行完毕
3 c, z" d$ r1 R' H+ T& y 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
. v( {: }; y, q y; [% c 命令:/Config
- T# E+ \9 Z U' d 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。! B2 `# V: s) E; Q- k) d
' j. {, c6 a: A' \3 }; p 用法:
$ a v3 T8 w: l/ T dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
) s* ^; Z3 {5 n6 F( G% a1 @ 参数* }% U% [/ h5 u8 E$ o- `2 @
ServerName :服务器名称,意义同上 1 x: k6 g' n, |
ZoneName:
/ r) G$ v' z$ }4 A 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
/ P J& ~1 L8 z1 u# _, j; ~! ], L Property:
0 ~- o' I* A8 [ i$ U 这个参数是属性。这里所说的属性有:
8 s4 A3 p- {; X; W" B3 e 与服务器有关的属性:例如:
+ u6 W/ c. c; X9 `5 q6 Z8 W/EnableRegistryBoot+ B: b. x- \2 y+ a4 p# F5 _
/RpcProtocol! f/ e: [7 \; P$ s
/LogLevel
% A% X$ t; Y% z7 t, n- P/ t/EventlogLevel 等等 (限于篇幅未能全部列出)9 A9 [9 D, w9 Z+ V2 K$ I, V
与Zone 有关的属性,例如:
, H. O. |9 O7 E. o- I1 k" _9 \: a( d /SecureSecondaries
0 G* ~- ^4 Q! @; h$ O/ T+ X /AllowUpdate
9 X3 R2 a9 A8 Y! [ P /Aging
& J4 P6 S! s r+ ]( d& @: P /RefreshInterval Value5 p) s% q! z; \: r6 S
/NoRefreshInterval Value
5 Q; V$ G& W. F8 u6 G 属性值:
" U" Z; _; c7 d+ ?0 z! u* {" A% @, z 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。5 N% s1 n/ B" E* A' a7 {
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
1 n2 W9 I/ \; d" f0 a; j8 r 命令: /Statistics
& s3 W i% A2 ~4 y- _- \1 t+ W 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
3 [' t7 w* a \2 k! p; @7 b 用法:
$ q+ r0 s( ^( ~+ l* u# n5 H dnscmd ServerName /Statistics [Filter|/Clear]0 J! g$ K1 I. v/ t: M
参数:
2 `! [9 M; V5 ~( U Y, BServerName
2 i1 c& n& L m# H8 _; t$ p服务器名称,含义同上。) U! h. c5 ?5 M+ g; \/ V
可选参数介绍:8 K- Q4 @! F; l% ~& X5 o$ S# @
共有两个参数,每次只能使用其中的一个。 }: e. d* o' _! k! ?
1.过滤(Filter)( a3 D$ r" p1 }$ ^$ p
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
" q% |1 H" x, `4 O可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 7 B- J/ [ L9 H3 m! ]5 b! D" G/ Y
00000001 -- Time
. C1 A3 Y9 w+ d" Q 00000002 -- Query) n1 e# H3 M T& e x
00000004 -- Query2
/ e1 _* H" T( o' `$ S3 N 00000008 -- Recurse0 m: y; d8 l% L" a
00000010 -- Master
" ~8 J* g, D5 i" k5 e 00000020 -- Secondary
9 z9 }* E6 H& H 00000040 -- Wins
8 o% d F" V. _$ A 00000100 -- Update
0 i* v1 v" ?1 a3 [5 o 00000200 -- SkwanSec
6 b( i, B9 b3 ~' x4 K3 Z8 p 00000400 -- Ds
. [3 W P8 Y9 f# q& b 00010000 -- Memory* k5 [3 q2 a3 c3 k
00100000 -- PacketMem
2 w! [4 f- x r6 N3 o. M. ] 00040000 -- Dbase
9 ]: Z4 T- E, E 00080000 -- Records
: `' c- a: w* U+ S3 U- k; _ M 00200000 -- NbstatMem% D2 z: E8 [, G& `$ q6 b
2.清除 /Clear " r; A4 J0 \3 G, {
这个参数用来清除统计信息。
7 k0 m9 K* N9 z+ E% R8 @ 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
1 t; P5 O% W# s: L1 Q
4 A' l9 Z2 s' V& [9 M# k9 Y ) w3 L+ w) L' h) T3 l g
9 Q) ~* C6 O4 l& m1 t) B9 B$ \- j
|