本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。' p( ]$ i D3 _, X B1 N6 [) S; K
命令: /Info / @+ S: u9 X: n/ k2 b2 J. F$ H
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
- ?4 a) m& I: B! o 用法:, H, e' u, m" ?) ~& \. i c) |: O
dnscmd ServerName /Info [Property]
6 ?. S, v- r5 `; y5 x( Z7 M 参数:3 G. o% O* O" K5 h4 G
ServerName 7 J- ^) G6 G; P7 w0 m" A$ n
服务器名称在上一篇中已经介绍过,此处省略。
# X: s/ d- Y4 v) C9 ^ [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。8 _+ x6 D+ K# Q4 ~# r1 Y) B" T
下面是该命令使用的一个比较完整的例子:" V$ r& @% J5 M/ G
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
) b2 f& t) o1 @+ {+ T. Sdnscmd 172.16.12.1 /info 只使用命令而不使用参数) ~ w4 c' H! O- A1 T* k6 v
输出的信息:7 q/ F5 `: I2 y
DNS Server 172.16.12.1 Information:
) b+ O$ Y* s3 @. `1 B v/ E3 e) aC:\>dnscmd 172.16.12.1 /info0 n0 ?1 O" [, S2 _2 N; q
Query result: 查询结果4 D! |! q- f* h7 }
Server info: 服务器信息
: e/ D8 J M5 Y2 I! `( ] ptr = 00074718 端口% G. H. e4 c: m& t- V; Q- s' i
server name = myserver.microsoft.com 服务器名称, v; O4 l; z$ A9 C X% M. l( y
version = C2000005 版本, Z& b0 `, A% l5 m
DS container = c DS“容器”
) Y4 Y. k- t2 q0 w Configuration: 配置信息 这些信息的含义请参考有关资料
T) i) o ^6 ] dwLogLevel = 00000000
# P0 a, S1 A- ~9 m) [. m dwDebugLevel = 00000000
# T) n& ^4 I, B6 |, f t dwRpcProtocol = FFFFFFFF
- M2 n# h- g! G4 B dwNameCheckFlag = 00000002( [3 k' @/ B+ w+ E; i# R
cAddressAnswerLimit = 0
" U" r( Z0 E! Q' g' _/ X a v dwRecursionRetry = 30 r% I% j" K) l5 f
dwRecursionTimeout = 15
% n% M; U1 ?$ v4 r/ J# A8 L% Z dwDsPollingInterval = 300
, h5 F: @3 m. h) Q: b4 K6 y Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
. h( m2 K+ f& _* E4 }8 ]5 BfBootMethod = 3 ; D9 R( D) ` {/ k
fAdminConfigured = 1
7 z, Z; {4 t9 w; `& Q1 @" wfAllowUpdate = 1
8 g& X# k; P8 {8 ^% ^$ SfDsAvailable = 1 ; T4 r+ l, S0 u6 Y$ M
fAutoReverseZones = 1
- N5 q* f1 n2 N8 s, TfAutoCacheUpdate = 0 ! d# D8 \7 _: Z$ h" x# n
fSlave = 0
2 i+ a0 S/ e) X% t$ Y' j( ]fNoRecursion = 0 4 J) |/ j' J0 b2 w: F
fRoundRobin = 1 3 j9 z" |% N: }* b8 { f
fLocalNetPriority = 1
* s- s" l1 l" E8 ~- { kfStrictFileParsing = 0
5 C: G2 Q9 g, t) o/ VfLooseWildcarding = 0
5 h, n8 j) R! m j) p2 p# {fBindSecondaries = 1
* \* ?7 ?* \! ?' h# w! vfWriteAuthorityNs = 0
! y& R+ w/ N1 w* OAging Configuration: : f* X0 s9 l3 f( ?
ScavengingInterval = 0
7 _( K X! R/ bDefaultAgingState = 0
/ H) y- S2 ~* P P% G# TDefaultRefreshInterval = 168 ( r$ w, v0 G3 D# Z
DefaultNoRefreshInterval = 168 : s4 Z. [/ M7 L2 _) \
ServerAddresses: 5 n& l) M: y2 x
Addr Count = 1
A4 J# P1 @" Y$ O' a9 Y0 U2 \ Addr[0] => 172.16.12.14 }! w) z% j: ~
ListenAddresses:! V, Z6 ], S+ v/ w) V$ D
NULL IP Array.3 y- a0 k3 i1 f3 X) n1 e( D
Forwarders:
) {. h: ^$ j3 V) G4 \ Addr Count = 1
" h' _. L3 N& `5 ]; @! T. Q Addr[0] => 172.16.4.3 v2 }' O% ~* I7 ]7 [3 y: m
forward timeout = 5
/ d$ l4 M3 k+ C$ { slave = 08 u) T F) A8 A0 O% Y. v
Command completed successfully.命令顺利执行完毕
& J$ Y1 v0 _* }6 w( b2 h" G 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 # z, ]7 a" L% c+ g/ T9 \
命令:/Config
( H3 L R" q" n. S3 P. M 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
- O) w: n' L" \) g Z: m: p7 b7 C9 h8 d
用法:/ D* z* S4 r0 z
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
8 w3 p/ n3 D- \' R 参数) N n# A& D0 v4 n
ServerName :服务器名称,意义同上
$ Q# I7 ~0 S5 M( ? ZoneName:, f) W% E2 q% T* J
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
; y+ U/ E" B! k- o- W, {# s Property: + X8 P: N" l/ A* I' |. e6 f4 D
这个参数是属性。这里所说的属性有:$ l# ?# k( i. J
与服务器有关的属性:例如:
7 w+ X, W% B3 d" U/EnableRegistryBoot
8 r$ @: n ]. y6 {0 l9 P- c/RpcProtocol( q+ G8 }7 Q4 m
/LogLevel/ J& v3 J# r; y
/EventlogLevel 等等 (限于篇幅未能全部列出)
. l/ C; n4 T" q' g2 Y与Zone 有关的属性,例如:
) J% T2 D: t' ]$ t8 y. G4 M: A) _ /SecureSecondaries' U, ?6 C2 H* J& g' ?; |
/AllowUpdate
+ A {" Q; Y; ] /Aging! y8 l6 Z, h3 e" F) b$ C3 V3 ^
/RefreshInterval Value3 b& i- x0 j( h* P& {% o; g
/NoRefreshInterval Value
0 t( U' c0 \0 s9 r0 O2 A 属性值: h: `" S5 ?- N* @/ A; V7 v
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
3 l& I- S0 m3 A5 N5 Z3 Z9 }从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。/ U, X: T5 B/ Q7 H, {3 f
命令: /Statistics7 t2 l+ g( X6 [6 {3 O }0 |1 Y, _- w
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
6 Y1 q. I: Q) _+ e$ d& n4 u 用法:; O* x1 U+ @, P. T* p
dnscmd ServerName /Statistics [Filter|/Clear]
" Z: Z* [# C* M! Y 参数:7 K8 v6 l- _* S2 t/ a. }# ?' B
ServerName ! w. V7 y8 A" g# _( b8 M! a3 h0 `
服务器名称,含义同上。4 X3 f& @$ Z' u% E
可选参数介绍:
0 G$ @% D# K7 \共有两个参数,每次只能使用其中的一个。
, c# F4 u1 T/ J6 t0 T( k/ a 1.过滤(Filter)
2 o& O, H( M& l! i5 k2 ? 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。& v8 H# d1 e# W2 T5 @
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: % e9 ^2 c1 ?- r; x3 E
00000001 -- Time
" z6 d8 v- x# y& v; s 00000002 -- Query7 I( @6 P2 Y0 S, B' E* T
00000004 -- Query2
/ I7 ^* m* {' K ]+ B+ Q6 V 00000008 -- Recurse
$ V7 J$ |- ?7 I 00000010 -- Master
( A6 v% ]% H7 v7 r 00000020 -- Secondary
' b2 m4 C/ ~3 l1 F 00000040 -- Wins0 W4 D8 k+ R/ K4 {& _
00000100 -- Update5 T5 |0 a. K# |' J
00000200 -- SkwanSec5 m' [. z5 a. Q1 E
00000400 -- Ds
2 P. U" j% p9 A# M+ }* ~ 00010000 -- Memory4 n# X" N. K. R5 k+ a* V2 W# T
00100000 -- PacketMem
& I. o! ~* N7 ]/ F 00040000 -- Dbase
. w5 t$ ~; X: n2 D7 t 00080000 -- Records
* g j- X7 ]4 _ 00200000 -- NbstatMem
+ U. K' P R2 a' p/ U 2.清除 /Clear
! g" D* y6 K0 q6 Y# q3 o) [. Y 这个参数用来清除统计信息。
9 v! \ O# N6 O 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。/ e" j( {: S3 w; [! _" W3 ~
C( x6 @1 V# c1 k x
! ]# c! e8 W9 L$ h$ Y: t- O! x, c9 ?& V% A
|