本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。4 J/ d. U& c# [& E
命令: /Info
; ^6 k |5 m6 T 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
7 s4 B$ A1 j- T- L, @, J' T! Z( e) w 用法:, J& F6 g# f/ ^$ k: T7 j4 b
dnscmd ServerName /Info [Property]
; R: c. T7 I9 w9 e 参数:
& }$ j- J6 H O9 n, c ServerName ' i7 I. C3 A* Z2 D& q
服务器名称在上一篇中已经介绍过,此处省略。
8 P9 p3 T9 n0 p# \8 `; B7 {% X [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。/ R5 l2 k6 t' g+ b1 M* M& R; t6 T$ g
下面是该命令使用的一个比较完整的例子:8 ^) A. q$ u' O+ Y+ L; s+ `
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
. B8 I1 M( L' b1 |' w# bdnscmd 172.16.12.1 /info 只使用命令而不使用参数# A* c: X% E" K+ ~; U0 v% m8 S
输出的信息:
7 O. q7 I+ C$ `: EDNS Server 172.16.12.1 Information:
7 V* P+ q- Q% {( kC:\>dnscmd 172.16.12.1 /info
& e# y4 I5 x$ U! I% B6 t: {Query result: 查询结果' p9 C) V. s' G7 L! D6 l1 Z) a
Server info: 服务器信息
! f1 U2 P& H; h1 [ ptr = 00074718 端口8 }+ H6 R, a7 K/ A2 h b) [
server name = myserver.microsoft.com 服务器名称
$ x3 q' R. c* k p2 A# E version = C2000005 版本1 @. B) Z5 k% J: K2 J- k
DS container = c DS“容器”0 w0 \ J( G- z/ H
Configuration: 配置信息 这些信息的含义请参考有关资料
! s5 G+ l( B" {" B dwLogLevel = 00000000& W. }9 `( o. R3 i2 N+ ?
dwDebugLevel = 00000000
& }# m0 g( T ~& x9 P dwRpcProtocol = FFFFFFFF
1 t- q! q2 J+ T dwNameCheckFlag = 00000002
9 S; X& l1 I, @7 C6 T cAddressAnswerLimit = 02 R$ K3 c! G1 G- }% Y
dwRecursionRetry = 3 a3 s: t$ ?4 Z$ M5 |3 H3 c" J1 Y d! a
dwRecursionTimeout = 15- m: {' w* f& g
dwDsPollingInterval = 300
" V/ V9 C) x( Y4 ^" b Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料- M3 a1 X3 I* o6 V1 d
fBootMethod = 3
+ s, V6 q% D- K b: l' |fAdminConfigured = 1
0 F1 z% r7 {, y7 e2 y! [5 ]fAllowUpdate = 1 & A" L; w/ \* q: [$ h3 |5 o' B* F& n
fDsAvailable = 1
X, \; a6 X. ?- ^! f, X! F/ o4 \fAutoReverseZones = 1 - ?8 q; m1 I8 ^7 b4 S$ {
fAutoCacheUpdate = 0 " h5 L( c, @2 l7 I
fSlave = 0
' ?0 X5 s* n0 O& b2 I# |. XfNoRecursion = 0 0 I- T6 l: J' }$ g
fRoundRobin = 1
; K8 h2 J- z- G! k% k% vfLocalNetPriority = 1 ) C; p. n7 b$ L' ?9 i
fStrictFileParsing = 0 4 A0 I a! e8 m# Y' N1 c
fLooseWildcarding = 0 / \/ y) Y& l( |
fBindSecondaries = 1
8 K7 Y: u* c! z& B. r) mfWriteAuthorityNs = 0
! m9 W; ~& I( T2 h5 _/ \) TAging Configuration: ! \9 [1 u" r$ R
ScavengingInterval = 0
4 r0 k9 _) W2 A# D/ ]DefaultAgingState = 0 * c' l8 ]$ K6 X
DefaultRefreshInterval = 168 % I9 s9 }. d+ Z; s
DefaultNoRefreshInterval = 168 3 B* Q; e" v+ w$ v! j1 _* A% k2 n& @3 O
ServerAddresses: $ j4 E5 [( {0 g; I
Addr Count = 1$ [; w2 }2 x6 a" R! T
Addr[0] => 172.16.12.1
& M1 E+ ^" X4 p$ U. ~# [ ListenAddresses:
* M& e- {6 X! S4 x8 J NULL IP Array.
8 n6 C0 }# U3 u% O, ] Forwarders:
5 z/ C }8 N1 y+ A3 S: @ Addr Count = 1
' r/ r" e j* V8 ^0 l/ |+ j* o Addr[0] => 172.16.4.3
) t7 S, i' h, Z3 h* h forward timeout = 5
5 m- F+ u7 S3 Z% N/ k# J slave = 0
; L0 n% i+ {$ Q8 a, x L; v+ R+ cCommand completed successfully.命令顺利执行完毕 . h5 o" `; e$ b4 F% X- V
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
/ N$ Y* Y, `1 L" ` 命令:/Config7 Z2 v8 e3 u: K l6 \' X H* v
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
, N. g2 |" W' F9 D' t" ^/ q, _( }/ D3 | S
用法:
( F9 h; e" ?! j; E4 `0 v# V% J dnscmd ServerName /Config [ZoneName |..AllZones] Property Value+ Z2 {0 Z1 g, o* E: ], v
参数
2 ]8 K- D' k& a ServerName :服务器名称,意义同上
$ b, ` N2 w' _/ f ZoneName:
0 a& X1 L$ I: _( ~" _" f; k 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
5 X. w* o! `, K- c' d Property:
' J% i# `- M' J 这个参数是属性。这里所说的属性有:
% u. j2 u1 D! h# T/ P. Q 与服务器有关的属性:例如:
, c: T" b* S, |4 R% K& A7 K/EnableRegistryBoot
/ T) C1 b6 \. a: Z3 i1 _/RpcProtocol
# j9 R) Z7 _% ^1 Q/LogLevel
8 E6 i( L6 Z! J: `/EventlogLevel 等等 (限于篇幅未能全部列出): ~4 ^# E. ]) O2 I
与Zone 有关的属性,例如:
7 J) Q. z5 j: ~1 B- Z& z# j4 @ /SecureSecondaries1 S4 V) n- z4 K+ }. s
/AllowUpdate' f" D6 ]6 f, _0 V" j
/Aging
+ v, B* r8 j4 A0 { u! ^1 P /RefreshInterval Value
s9 K6 n. q* i) b8 c6 f5 r- S8 w /NoRefreshInterval Value
# C! d- Q* I4 C& O9 y* G 属性值:
/ Z/ X1 t8 C0 g1 C3 k$ s. l 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。8 L1 r$ x' a/ }: ~ @$ z! z c
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。( Z$ _2 Y8 y' f8 X2 V. h: G& J
命令: /Statistics% k+ \$ U" g' G! ^ Q* K, j8 a5 ^% x* B
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
& o8 o* I b* o8 @- { 用法:
1 _9 V. y# r: h5 Z& G D+ K dnscmd ServerName /Statistics [Filter|/Clear]
3 ]2 }% G# O5 J( ?5 Z/ d2 i5 D: e 参数:
0 i$ r. p( ]! m6 L5 ~0 mServerName ( ~; _- G! r( F! x0 b- O( X
服务器名称,含义同上。5 }8 E6 l+ R2 V& H7 M: L7 h0 _
可选参数介绍:# z0 V$ m7 g$ @* A# P* R, [
共有两个参数,每次只能使用其中的一个。3 o# Z" |* S4 K: i+ u
1.过滤(Filter)& V& `9 {! R1 e8 P
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。: w! c" N# A. A2 ?' _2 U2 H
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: * p! b# j+ x: g
00000001 -- Time
p" R1 k& D+ M, I9 K 00000002 -- Query
E2 y& V: i, f2 o$ K( m7 { 00000004 -- Query2: X' |- Q0 e7 Z5 o# z6 O( e
00000008 -- Recurse
) V9 X9 v) z0 C9 A8 A \ 00000010 -- Master
& V- v' O- I3 h! M5 x. C 00000020 -- Secondary4 O" e) \. b3 ~7 B& w
00000040 -- Wins
3 s% C2 w" O' L( G3 s 00000100 -- Update
* V0 Z& l- C3 D+ _0 J 00000200 -- SkwanSec6 P/ U1 L* ?0 B: i9 _/ w2 a
00000400 -- Ds" `" m! A! g4 o
00010000 -- Memory& ~( D/ p2 S3 ^- @
00100000 -- PacketMem
+ Y* r: U& O' I6 w4 ^+ `7 q 00040000 -- Dbase$ K7 h- _9 W3 I9 x, G: {/ M
00080000 -- Records
4 v% M; J0 C; ? 00200000 -- NbstatMem
3 L, a5 {: r) z0 T& B/ { 2.清除 /Clear % {3 m9 J9 ?& ]: a
这个参数用来清除统计信息。
F" Z. g3 `4 | |* f 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
" V# v0 Y- j5 ^$ ^& Z% b
) C5 y: k8 @' f$ L7 D) l4 B ) t) N$ v: c! d. x' N3 V# p+ e
3 ?5 O2 n- i+ E% V3 p$ q, { |