本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
* p: X8 S' B! q, ]6 x* g 命令: /Info
/ q+ q2 g5 j7 W9 j 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。+ R$ n9 M7 H# N) F6 k
用法:" Y) K m% J! S) m
dnscmd ServerName /Info [Property] / }* @" N1 A6 i L4 g9 J
参数:9 Q0 C4 n5 `$ G) A
ServerName
6 v2 }+ C6 d( l5 L$ D 服务器名称在上一篇中已经介绍过,此处省略。 3 g& U8 e7 R% Q3 k
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。8 \: S- {; Q3 t1 ~, A+ o
下面是该命令使用的一个比较完整的例子:
& K9 k8 S$ h" s$ e7 ~; i" H 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:( c1 _# Q- @& p
dnscmd 172.16.12.1 /info 只使用命令而不使用参数3 W8 M+ U! z1 J4 K+ f- M& m3 `3 u; G
输出的信息:! X: u* b8 l# ]9 K* }
DNS Server 172.16.12.1 Information:- V" t2 q- R5 i- y( S* ]
C:\>dnscmd 172.16.12.1 /info
# Z7 M ?) s; b! F, M6 D/ |. ZQuery result: 查询结果2 d3 X% }9 |% q- b: T
Server info: 服务器信息
; a5 U0 b" o% D" H+ Y ptr = 00074718 端口& @6 S0 @' r) l0 W" [$ r
server name = myserver.microsoft.com 服务器名称
5 @ m; L) P* \! ] version = C2000005 版本 h' @- F. }3 ]# Z' M8 w; v/ O# S
DS container = c DS“容器”) A$ a. ]9 Z+ D+ W; t
Configuration: 配置信息 这些信息的含义请参考有关资料
0 ]0 J+ b* N$ C8 R9 x9 B4 G# ^ dwLogLevel = 00000000
' m, T: `3 S9 J7 I- w dwDebugLevel = 00000000
0 u3 x1 H5 t+ {! q1 L( |* x# E" O dwRpcProtocol = FFFFFFFF
- X4 [, d5 a" K' q7 |4 u- Y% ^2 B dwNameCheckFlag = 000000021 N% q P. m% n" K1 w0 J. `, x
cAddressAnswerLimit = 0# s9 A3 T, H0 ]7 l _- B# t8 Z
dwRecursionRetry = 3, H1 |- n+ y- S8 \3 @5 l8 R
dwRecursionTimeout = 15( H) X9 s7 |5 N I
dwDsPollingInterval = 300! t* E( `6 {$ |. p; w6 G
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
1 s# U, Y3 |3 i/ t; R) d/ o" EfBootMethod = 3
: j, j1 i1 X( ZfAdminConfigured = 1
6 t% B7 }8 W( c( f1 XfAllowUpdate = 1
" y# z/ |7 v' }) V* y0 q" OfDsAvailable = 1 " L+ P$ E9 z# H2 a8 G
fAutoReverseZones = 1
8 @3 z n4 z1 H/ t& U/ P/ ofAutoCacheUpdate = 0
1 F/ A, g" s$ h q9 gfSlave = 0
5 t8 ]+ |5 r. \( [+ ?% T+ w. MfNoRecursion = 0 2 b, }- `/ F% W3 d% U
fRoundRobin = 1
$ k1 s! G- t0 }% n1 V8 y3 CfLocalNetPriority = 1
0 H- j6 q% {2 V# I, v) u" @fStrictFileParsing = 0
' q: B3 b, G2 ^% _3 zfLooseWildcarding = 0
% V! N# w, M/ V. a OfBindSecondaries = 1 3 C, {6 e5 t/ _' r$ T7 Q5 e
fWriteAuthorityNs = 0
5 B1 V1 B( q9 ?Aging Configuration:
% E3 B. o. Y0 `7 LScavengingInterval = 0 7 b+ ]1 X4 j2 U6 O: H) E9 g+ B
DefaultAgingState = 0 1 O. _ d' b1 z) l0 C
DefaultRefreshInterval = 168 9 T, l0 J- M; | B
DefaultNoRefreshInterval = 168 & H. Z9 X0 \% Z/ R
ServerAddresses:
: I% O0 |6 D) b5 S% g3 } Addr Count = 1- \6 u& c0 A& E0 O' l* v
Addr[0] => 172.16.12.1! U# N, o2 ^2 L4 p, K. e: O5 N$ G
ListenAddresses:5 Q/ @4 O, v1 ~9 E" T d
NULL IP Array.
9 d" y) h. H8 M0 q Forwarders:
$ Z! k1 }+ Z$ b Addr Count = 1
% W0 F! g- I. F2 P* ~& S Addr[0] => 172.16.4.31 q/ M/ P3 u. V: J+ {
forward timeout = 56 O0 |( |& [1 J( K6 ^9 ]1 n M5 Z- V
slave = 08 ?7 Z9 \6 X' R- |2 T8 D0 |
Command completed successfully.命令顺利执行完毕 + C4 n8 m# J- W0 G2 D4 S1 x& m
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 ! }/ K" Y4 [; g0 w" q0 ], R: F5 L# e
命令:/Config
% O7 c% J s+ t 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。( d) v: X' _) j4 y2 K% u1 i# p
: r5 H1 h2 h6 {3 w
用法:* C3 E0 j* V6 v+ N6 G* u
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
% L+ @3 o2 I. P G4 c 参数
* h$ y; o8 D9 g8 ^ ServerName :服务器名称,意义同上
* M/ Q, I3 ^3 C ZoneName:
- D* u6 ]6 v H7 \" f$ X 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 + }1 | V$ X# c* ^5 B
Property:
6 z, H6 B4 `. { 这个参数是属性。这里所说的属性有:
! \2 Z) { S& Y) z" @: Y9 h 与服务器有关的属性:例如:; q0 X: @" j/ u$ ~ i7 O
/EnableRegistryBoot6 S5 W5 n6 s4 S# ~7 _/ Z. L* {
/RpcProtocol
" J5 H* d. b/ K$ l; Y1 E3 w/LogLevel! c' ~% ^2 N/ M9 D) l9 d
/EventlogLevel 等等 (限于篇幅未能全部列出)
- m7 P! z# _8 j" q7 j8 K% q; O- i9 d+ {与Zone 有关的属性,例如:, x4 T6 t/ q* S( e2 ], H5 Y' f
/SecureSecondaries6 A' S' w4 T" k4 s
/AllowUpdate- `1 _( d% I$ p. ]: j
/Aging
) e) y+ r, B& j2 I /RefreshInterval Value
3 C& B t. r) `# g5 F /NoRefreshInterval Value* S. K+ Q/ j, X. o% K* p
属性值:0 N3 ?+ c, U4 S7 a
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。; i, u# {+ J, j) F) h/ e
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
& y+ p6 t+ l2 f' Y; R2 u 命令: /Statistics
! ?1 s/ x4 M" W1 o z 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
Q) ^+ X- K" `7 f6 M6 U' { 用法:8 d7 \( i* z( B9 L5 q' v: r
dnscmd ServerName /Statistics [Filter|/Clear] c3 [- {' B3 K9 g$ e
参数:
9 ~/ P# Y0 g: b* W" FServerName 2 \% P! P8 D" U: O5 @
服务器名称,含义同上。
f# l' k' M3 ^# c2 `可选参数介绍:4 Q' Y# @* q; [. d- U
共有两个参数,每次只能使用其中的一个。- G( ~" `( X( j
1.过滤(Filter)
( o0 a; b; J9 r/ [1 t7 C2 ^ 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
: {& E9 L8 F# q% D8 M- o可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ) S/ U# z& l' Y# J/ o# R
00000001 -- Time
; J/ J* Q; t! f+ T, f: \ 00000002 -- Query1 Y# J' H& W! Q3 [% m4 [
00000004 -- Query2% m( w: n* v. B( i: L& V4 O9 o/ F8 W# b
00000008 -- Recurse
; J6 e" }0 g% _8 H: |( a* ` 00000010 -- Master
) Z' \5 h! Z, Y$ c3 ^' u' e 00000020 -- Secondary3 {" E: y5 S$ @& y/ { |8 T
00000040 -- Wins
- l: }) A& k& y* P- n4 E 00000100 -- Update
4 r* y0 q+ m, ~4 [/ `3 s; _8 a 00000200 -- SkwanSec
$ O$ \1 t$ W$ Q4 @7 n# H& z) r 00000400 -- Ds: d- g. r5 y# @4 [! z
00010000 -- Memory! h) F$ M; p% I& ~! A k J, O
00100000 -- PacketMem3 K1 V' E* J+ A; c, u3 P
00040000 -- Dbase
2 {% c) r1 d: `6 ^: [- K% P5 T 00080000 -- Records& d4 O- U. R7 ^, X9 k
00200000 -- NbstatMem- e9 N4 @. v& Q4 V3 ~% W3 M
2.清除 /Clear ' K; z0 E b) D: B( [+ ]
这个参数用来清除统计信息。
: Q$ ?1 O9 G# c8 d# O1 t 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
- I( {- {$ U3 m5 L
: ]/ ~+ w( @" x$ D) N* ~
5 v9 x8 t4 k) @7 t
) q3 A; v4 d5 u: h0 B! Y1 ]$ ]8 K |