本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。1 Z, o4 I @ b& m3 G! C0 ]% d* R
命令: /Info
* h* I8 ~+ X. t% i' f 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。 k& f: s3 @5 d% u
用法:. x ^& a: q% ~2 ]' J
dnscmd ServerName /Info [Property] ! p+ ?4 @) Q0 M1 |
参数:* C6 e1 a: w/ {8 A
ServerName / @* c6 ]# ], W; l7 e* v
服务器名称在上一篇中已经介绍过,此处省略。
, h& _; ]8 K4 b: n4 C [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。( U" T: ~( K9 b( K! Z
下面是该命令使用的一个比较完整的例子:: ~+ j; \+ x8 @3 I1 v
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
. t: p E- p* a5 }+ Q5 N3 Hdnscmd 172.16.12.1 /info 只使用命令而不使用参数+ ^- K+ [$ ]& r5 C/ n5 K1 Q3 N# R
输出的信息:( D) O1 e4 R/ c: L
DNS Server 172.16.12.1 Information:# g4 m- e* `, ?4 `, N" Y5 `
C:\>dnscmd 172.16.12.1 /info
% o+ ~1 C0 e5 N" W( c8 m i2 z. n! TQuery result: 查询结果
, f7 B7 E; @: o) DServer info: 服务器信息
/ V* |: L# L) R) |. e ~6 j ptr = 00074718 端口
6 @! R* {6 B h: Z server name = myserver.microsoft.com 服务器名称
3 Y U, b/ ?$ Z4 f/ { version = C2000005 版本
: l5 A- Q7 G5 a/ E9 U DS container = c DS“容器”
4 [8 N' t4 m" Z5 J# \/ o- { Configuration: 配置信息 这些信息的含义请参考有关资料% v% N. Z* t& {. z
dwLogLevel = 00000000% f! S) J9 V1 _( u, k
dwDebugLevel = 00000000
- w- `: E( s! a5 a% V6 A }0 g dwRpcProtocol = FFFFFFFF8 B* ^; E4 e6 G5 y
dwNameCheckFlag = 00000002) i5 q1 z+ y' E$ f" F- V9 K" R
cAddressAnswerLimit = 0
. D9 ^6 ^/ Q* r2 U/ P S- y( _ dwRecursionRetry = 3! `3 |* \2 y" E' r
dwRecursionTimeout = 15
$ B8 X2 t8 N0 ^8 e8 `6 R7 L dwDsPollingInterval = 3003 O; B+ e6 |; C" |/ z
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料! V, x7 ?6 X9 ~6 J& x$ n
fBootMethod = 3 8 d) g& a, `; n0 U. |
fAdminConfigured = 1 ( k( I' g7 T8 T5 K
fAllowUpdate = 1
6 E5 h, Q. c U* P7 bfDsAvailable = 1
9 H4 }- `1 W) W# E9 WfAutoReverseZones = 1
8 d ~6 o8 e! n; |9 qfAutoCacheUpdate = 0 ) j! |, p x/ N
fSlave = 0
6 i+ Y% q3 S, e! @$ t9 p X: ZfNoRecursion = 0
+ a6 @1 Y- q+ s# n/ K: NfRoundRobin = 1
, f7 W4 L- G# ?+ D ~/ PfLocalNetPriority = 1 2 i. \3 L# Q7 Q( a
fStrictFileParsing = 0 8 I J) A5 d2 J; Q4 C
fLooseWildcarding = 0
: y/ L: @0 v8 WfBindSecondaries = 1
! o5 F& D9 b! O/ MfWriteAuthorityNs = 0 8 _) s- `2 }% b4 F
Aging Configuration: % _& [* ~+ L& N! W- q( [
ScavengingInterval = 0
& ]! R5 w4 t7 e4 s: ^. r5 ]5 YDefaultAgingState = 0
. I5 c9 O6 ~% Z" d) N: `DefaultRefreshInterval = 168 9 H: z5 ^5 P- n' k4 T
DefaultNoRefreshInterval = 168
8 N2 o; t2 r7 r2 B4 u1 O& E ServerAddresses:
- w; j$ i6 j6 y Addr Count = 1
4 V. C+ S1 I* }: ^8 W Addr[0] => 172.16.12.1
5 V1 E# l6 w- t0 P ListenAddresses:
! q) |* R+ D& G: E; k$ F% Z NULL IP Array.
0 v7 k8 N. T9 X; f8 X/ b# C Forwarders:, C5 P0 f/ {) _4 B/ K
Addr Count = 1
% Y) k& D3 X/ ~* ?- M n+ G Addr[0] => 172.16.4.3
" D* `$ ~) `. N3 j forward timeout = 5
5 Z. t- r" I' K3 {% v7 T slave = 0
9 {) F+ a3 c6 G. kCommand completed successfully.命令顺利执行完毕
9 x' c- h P; N: @ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
4 e% {$ Y( c+ @/ I# }2 z* S 命令:/Config
" x# o. q. u2 {! i5 z# e 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
* U6 l- z0 c& @) |' Y. g" g& c
# m, B) P4 ], \' [/ n+ _ 用法:
6 `7 ~3 L5 k& `' I) R dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
$ t4 E4 Q2 W, R& X5 x. E 参数
1 q+ N0 `: y* W& c ServerName :服务器名称,意义同上
; A% S7 X. W7 u/ V+ h& u ZoneName:$ s5 z# M) Z/ ^& _% N
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 % X9 M8 o" i4 p6 O, q
Property: $ f7 K( n" Q* h4 K/ v
这个参数是属性。这里所说的属性有:
* |/ z* |+ m5 Q3 l5 h 与服务器有关的属性:例如:! u2 u: N; X8 b! o( u
/EnableRegistryBoot
5 u: y4 G$ }+ \: H0 V& R/RpcProtocol' t7 Z, W/ H2 f" Q- p
/LogLevel
/ k" D! c) K4 N9 C8 B. _/EventlogLevel 等等 (限于篇幅未能全部列出)
- {. V' X' l) j# `- Q' Z4 q0 `9 L与Zone 有关的属性,例如:
& p" s/ h/ B9 y8 e% D /SecureSecondaries
$ k$ L: O: C* G7 c /AllowUpdate
* b) O, Z" G# ?8 b! \2 r /Aging% }* @; |' j1 y5 ]2 U0 D
/RefreshInterval Value
* T: g& p+ U' f# I$ K; v" o! _ /NoRefreshInterval Value( j: Z; L4 \ B `
属性值:
5 e% @' Z% b' W2 ?: I8 x 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。* f& p3 H2 y6 X2 ?8 E
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。1 p6 B V+ Z4 L1 z9 A6 d1 X
命令: /Statistics; n+ a) r# |3 T8 J, m; F4 D
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。8 s3 @8 m* Z4 H b Z( Z e
用法:
* e o9 L0 O( `- ~ dnscmd ServerName /Statistics [Filter|/Clear]
1 g% R" h$ g4 k' L6 R* l) @ 参数:
6 w1 |0 L- [( P8 Q/ RServerName
9 d" `) Y2 @* d* i" @# F6 x# F服务器名称,含义同上。
; M* \$ V# `/ O& a: _可选参数介绍:
; x9 c! s" z4 Y9 x9 l共有两个参数,每次只能使用其中的一个。1 _8 c. d/ i5 ?/ D) _4 o
1.过滤(Filter)
( U* z0 K" D( d/ _7 X 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。' v8 I! b- X% n/ _; F* s
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
, j4 e) U2 C7 `+ ^% h" ?% m/ Z$ k 00000001 -- Time
: g/ R1 C* h1 n 00000002 -- Query
, A; h9 D. K* _' K8 c 00000004 -- Query2
7 `: \4 y" o/ ?1 p5 d 00000008 -- Recurse7 C0 U8 s" K% r
00000010 -- Master
& c# E- o7 S3 S 00000020 -- Secondary
) G; f. I0 R4 A) T 00000040 -- Wins
0 Z. K$ i+ q7 p( v j% Y 00000100 -- Update
" e/ m$ b5 {6 r$ D/ S* C: r 00000200 -- SkwanSec/ Z; t5 f8 ^+ p# e) ~
00000400 -- Ds" [2 _9 ^' `5 O4 _6 [/ C* u+ v1 q
00010000 -- Memory9 \2 f6 o. R0 S
00100000 -- PacketMem4 |* L8 h3 j* o
00040000 -- Dbase z! b1 i" ], @
00080000 -- Records
8 b) z7 [( \7 C# b7 g$ I; r 00200000 -- NbstatMem
, v- B: \! ]/ l- E- F [0 E 2.清除 /Clear # ]5 m6 [9 x. U# q5 | U6 d: N: ^
这个参数用来清除统计信息。2 P* {6 p2 V, c& P4 ?
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
6 q* L j% n! E5 _
8 ]( G7 Z+ x6 h- p9 y & g x0 N' N; ~3 h
+ [( O. ~+ G5 |$ h
|