本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
: j) W; P8 A0 ~3 V% P$ E/ _1 B 命令: /Info
0 P* m) T, Z3 |8 H 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。* @, |$ v% Y; p- C. M' P: l
用法:
/ V! |& n3 T: r8 S( `9 J2 ?' \' H0 p2 B dnscmd ServerName /Info [Property] , n5 r3 @! c) [3 o" l7 a2 \% p$ E
参数:. g* @) }* E4 d6 i4 _2 O
ServerName 2 V: p5 U2 [3 _
服务器名称在上一篇中已经介绍过,此处省略。
% m5 F- v+ F, u+ j3 c+ r [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。7 G5 g1 s' h8 \8 j9 Q
下面是该命令使用的一个比较完整的例子:3 r$ E' ?+ H# {
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
+ f5 Q0 l* N, j6 N# I; Tdnscmd 172.16.12.1 /info 只使用命令而不使用参数& K" {. i5 \8 o/ B
输出的信息:+ D, G7 ^% s; l7 {
DNS Server 172.16.12.1 Information:0 S& n; J; h9 h
C:\>dnscmd 172.16.12.1 /info, ^; U+ I: U2 [# y, C7 \
Query result: 查询结果
% q1 U; } s, Y% G. n2 T' Z* rServer info: 服务器信息9 e' g: |6 r% ^
ptr = 00074718 端口
6 g. ?. G9 t$ Y( B7 } server name = myserver.microsoft.com 服务器名称9 z3 `. M* g9 y
version = C2000005 版本
' i ]& R# W2 N DS container = c DS“容器”. k8 L: b9 g+ B0 A6 f) h
Configuration: 配置信息 这些信息的含义请参考有关资料
- H4 L4 t _) Q$ ]* C+ K dwLogLevel = 00000000
( M7 D) \7 T& L' O dwDebugLevel = 00000000
" B" F9 e3 l( T# X3 R6 h dwRpcProtocol = FFFFFFFF
, O6 s2 s6 A! u- ]+ { dwNameCheckFlag = 00000002
+ C4 p! L6 m# q* B: }9 y cAddressAnswerLimit = 0- d- R. u0 A% _2 N* B4 M1 s8 N F
dwRecursionRetry = 3
, W6 V3 |' W4 r- H5 z& a. d dwRecursionTimeout = 15) N. Y/ K# Q3 P7 F- ]
dwDsPollingInterval = 300( q. |+ w5 r: y* k7 k- f! }! q- @
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料1 M5 t8 ~. {2 v9 U. y
fBootMethod = 3
5 P- j' H: B3 d6 a4 r" g: L6 `fAdminConfigured = 1
1 P! ~* G* Z# o$ _fAllowUpdate = 1 # j- [, ~$ ]. e/ j
fDsAvailable = 1
9 ?: W+ A, K* j, U. gfAutoReverseZones = 1 3 u* h4 U! o h2 L9 e1 y
fAutoCacheUpdate = 0
4 K1 u/ M1 C" d7 S" A0 l( t1 RfSlave = 0 1 q0 t5 H! X1 i3 F' b) |
fNoRecursion = 0 U8 C+ v1 I4 T, M! s' b0 u
fRoundRobin = 1 9 ^! F c: p- t* n: Z U
fLocalNetPriority = 1 5 q4 x, S7 V: B9 E% o8 K
fStrictFileParsing = 0
4 r( |1 [% I2 g8 Y) efLooseWildcarding = 0 ) l$ `% r. k4 e* }' |& `. r/ n
fBindSecondaries = 1
* r' \% ~0 v7 v6 ~# n) kfWriteAuthorityNs = 0
( d. h7 I- }. _% Q% H: C" }* wAging Configuration: 1 w7 H$ ?: A Z. P9 a! p
ScavengingInterval = 0 # N7 l+ z: [) C3 F) y9 c5 u
DefaultAgingState = 0
- r& ^ z. u$ wDefaultRefreshInterval = 168 * k0 \5 ?; r# O' @+ h
DefaultNoRefreshInterval = 168
0 C% d/ J4 Y: ?% H, G ServerAddresses:
. s# d, o, ~% `, c5 i Addr Count = 1
/ w5 X# X' [4 L' G% m: \) ]7 G) F* Y Addr[0] => 172.16.12.1
+ X! Q/ M- Z6 ?5 L# s) A4 K ListenAddresses:8 ^7 }5 r [3 S: x" `4 r, t
NULL IP Array.
9 Q# R. I" x6 X Forwarders:
7 a9 {$ K! p; q5 T( v Addr Count = 1: |. ?9 g2 u; I
Addr[0] => 172.16.4.3
+ s( w% ?7 T+ H( e7 o# C. b0 M forward timeout = 5
( e$ A$ H1 b! }1 e slave = 0
9 M( s6 Z) Z7 X3 k) VCommand completed successfully.命令顺利执行完毕 3 _) i- @" Z9 R: d5 T6 d! k
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
& w( L! K& {% d; w( b 命令:/Config1 Q: L B* {8 t; i$ w* [ S$ J
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。1 I. v8 N6 P0 E% f9 g F- `
9 K$ m/ w. O! M/ I 用法:) v% {! K o: Q% b+ l! [; e
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value- M5 @7 b( E ]/ `, `, R0 f, C
参数
+ |. E @+ t# j) f; i8 W% C ServerName :服务器名称,意义同上
- l5 P5 @8 a' F9 `. r9 M ZoneName:% S* }! ] k$ e: T1 j) E) a$ B
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
+ ^ B/ h; Q* P9 F! _ Property: ; `) [' ~3 Z5 [! S. h) p0 I
这个参数是属性。这里所说的属性有:
2 @9 H! q0 j$ [# L 与服务器有关的属性:例如:
p0 N: E5 |6 y6 u2 ~( j/EnableRegistryBoot4 Y2 I% B4 r0 a% C
/RpcProtocol
; L7 G' e4 i, p% K/LogLevel
7 v1 e% \4 W, m2 L; f& s: |+ n/EventlogLevel 等等 (限于篇幅未能全部列出)* C! |% r, x7 \5 P' l1 r" ]. b+ k
与Zone 有关的属性,例如:7 }* F5 Q2 ~: I0 E* f- g# ?4 K, z; x( d6 t
/SecureSecondaries
" U8 U: w5 J% p% ` /AllowUpdate
, K. R' @1 J( b1 y/ {0 d- `- x /Aging- y: y2 V9 K$ Q, j
/RefreshInterval Value" d8 F$ r+ k- ~. ~. v
/NoRefreshInterval Value
# o! k3 O/ R+ i+ j) m2 Y. g( C 属性值:
* V6 U R8 m$ J9 J/ z: z. M+ ?9 Z- } d* C 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
: ]% A$ S9 @' H& `# C: {& D从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
/ I: t( A& f6 T: M5 V 命令: /Statistics
L8 _5 l* W0 F- h6 ] 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。) _2 M" W" x) O& y! v
用法:
, Q n4 v# T( ] dnscmd ServerName /Statistics [Filter|/Clear]7 x. w6 z! P4 b+ B: g
参数:
$ S5 F$ z" c4 t* iServerName
' R$ x2 S, p/ V- n0 V7 s服务器名称,含义同上。0 A: U6 N! \( w! e" M: j
可选参数介绍:
' k& q: R$ u. |1 g& a: Y共有两个参数,每次只能使用其中的一个。
, _* W7 l7 Z3 Y* A( q 1.过滤(Filter)* @! _- H9 W: k, v4 T1 J3 l
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
( l: V: p7 s% h. F3 X" b* c3 }可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: . j2 P+ r) o+ J1 t. B; ]; A
00000001 -- Time
( ~. }+ V( S& H 00000002 -- Query S1 w5 r% Y: ^2 n3 k
00000004 -- Query21 M& B l0 z5 X" x
00000008 -- Recurse
, V. J, x. K/ f. a& b( ^ 00000010 -- Master
5 s6 v$ d- [$ y 00000020 -- Secondary
: W$ ]' ^* h& o 00000040 -- Wins
- L9 {, f. I3 ]) i. L 00000100 -- Update
9 T9 }' \" S. l8 S% Q& i 00000200 -- SkwanSec
* i$ U. F/ N# j. m& Y" A7 u+ n1 _. k 00000400 -- Ds# a) u! `5 o, R0 T. } @ v2 A) c: e
00010000 -- Memory+ Y/ [, F# q8 Y* G/ j: t
00100000 -- PacketMem# z3 i1 o3 U$ L& ]( A
00040000 -- Dbase# c( z$ E/ W: f
00080000 -- Records5 g( y* K- D" `6 O/ W
00200000 -- NbstatMem" v' o- n" a3 @1 h. N; S( z7 T
2.清除 /Clear
1 N' L! F! O* _2 s. m7 c 这个参数用来清除统计信息。
& }5 I. f. o3 q1 r* N# w 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。% ? a1 H' r( @/ u! f2 e& g
& {5 `* ?/ S `6 h/ M/ P7 ^
- v4 T8 D" Z9 ~+ z3 W* }3 B, A7 `1 w, {7 a
|