本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。1 J( q5 l% \0 D
命令: /Info % M$ M; ] ~/ j: O( m2 @# \ } b' p
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
$ }; h$ Z/ \# [( s- P 用法:
% T4 j7 f) ]/ u( w* @8 R7 Y* W9 Z dnscmd ServerName /Info [Property]
, y* k- X, W! r7 L) s 参数:
) g+ V- W4 w3 G, U1 D- J ServerName . e2 j9 H) l, K& a. f
服务器名称在上一篇中已经介绍过,此处省略。 $ H+ B1 X0 H$ G0 L* A/ h4 \& _. p
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。. M/ u; s8 E1 I6 `
下面是该命令使用的一个比较完整的例子:7 W. R: e) u; K2 n1 E3 l
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:; G. Q0 Y) O7 ~2 _0 Z) F
dnscmd 172.16.12.1 /info 只使用命令而不使用参数4 |1 b/ L* m8 v, c' i5 h8 I+ D0 L
输出的信息:$ E7 P/ Q9 j4 }0 ~
DNS Server 172.16.12.1 Information:
/ v+ ~0 x1 e& pC:\>dnscmd 172.16.12.1 /info
, A3 s3 _" _, v% d, Z- a) [Query result: 查询结果
9 x6 }4 q. E M* g/ V0 g! EServer info: 服务器信息# O3 i9 G8 L% t, F0 K, V* Z1 Z: u
ptr = 00074718 端口# }7 U7 k8 x$ p' [% l0 e
server name = myserver.microsoft.com 服务器名称4 }7 E: K( u+ \$ G R
version = C2000005 版本( C# ~! _0 w6 d' z+ A ?
DS container = c DS“容器”
6 ^# R7 N$ p x& t4 m: X Configuration: 配置信息 这些信息的含义请参考有关资料$ ~, w$ G2 U- p4 L5 G$ }6 q0 Z& R7 J
dwLogLevel = 00000000
% E( z6 {; k# }* [: W8 J dwDebugLevel = 000000008 ]3 |& A7 y$ h( h
dwRpcProtocol = FFFFFFFF
5 d- @ P6 D Y! p dwNameCheckFlag = 00000002! A- K; v$ Y$ O7 S: M
cAddressAnswerLimit = 0
" s+ W i( x9 O- _ dwRecursionRetry = 3' M* d, b0 v8 T# a+ ^
dwRecursionTimeout = 15
8 Z/ T1 G; l# J dwDsPollingInterval = 300
# B' L, s# P" t9 P% m z Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
: R3 [, @& ^) Y% j; _! vfBootMethod = 3 ! V4 n6 i9 S% Y |1 ]) R& a
fAdminConfigured = 1 / P( A2 R0 l2 l% M. o
fAllowUpdate = 1 9 n- i- V2 K2 X" ~
fDsAvailable = 1
6 e1 _2 b$ N: Z- ~+ bfAutoReverseZones = 1
) y! \5 K6 _& z+ K# Z* [fAutoCacheUpdate = 0
+ T! I+ `2 S0 Z5 i: F( \2 }$ ~fSlave = 0
" j, N* J- J7 P2 VfNoRecursion = 0
0 X- H9 q- ~6 y9 E& rfRoundRobin = 1
! m# o* z; [# hfLocalNetPriority = 1 , f5 w3 K) U: Y l( F8 M. b+ l" ?
fStrictFileParsing = 0 + K! g* e6 Q+ D$ U; B. L& X7 L
fLooseWildcarding = 0
; a, k! r1 N/ u2 |" l- C# R% dfBindSecondaries = 1
% V9 V! s; c( D( S" p8 E2 CfWriteAuthorityNs = 0 ; K' [$ W" Y0 P9 e& d, b
Aging Configuration: X8 m+ |9 x- z ]* X$ P9 {! T r
ScavengingInterval = 0
% F/ B( B5 `) Z l& U2 ^4 a/ yDefaultAgingState = 0 0 X. o3 i3 K7 I8 Y" X3 a$ j
DefaultRefreshInterval = 168 - z4 o9 ^( `& k3 h. {# J0 |
DefaultNoRefreshInterval = 168
, R& |6 z% X7 s2 } ServerAddresses:
9 P& x9 M, V" {/ e |& b Addr Count = 1% l- v0 ?# o7 ]/ U+ A; I+ {, r) X
Addr[0] => 172.16.12.14 t: b6 T' |: r
ListenAddresses:
% E }0 b% J7 i9 i4 Y, G$ u; k NULL IP Array.
* w3 A- g0 M+ s; j3 d Forwarders:
$ N: N+ m, r! T Addr Count = 19 Q$ L( H0 x. N% k1 Q h/ W
Addr[0] => 172.16.4.3
$ d6 N. B: n2 Y* j2 @. E forward timeout = 5
- B: l( K$ M1 [ slave = 0
+ d; K/ h+ s4 Y$ F% N5 FCommand completed successfully.命令顺利执行完毕 # M" U; d) q7 P! O& n: c/ m
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
6 r" `/ h4 I& W0 f. D 命令:/Config& I+ N/ K( Y' J. z: @7 m
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
, z, r) I9 Q6 V6 }- f$ R" b& T- X @
用法:
/ o: v4 D7 L9 n5 K. h. e dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) q& {6 [* T! c5 [7 w
参数
( S5 Q& x9 o9 V+ C) p ServerName :服务器名称,意义同上 % t4 O! Y& L( C; \' s/ |
ZoneName:2 _' g1 ]' x: X# j+ j8 b0 o9 _' M
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
3 v$ y+ i. [+ A9 \3 B* X% D Property: 1 @& r0 d3 ^/ P) S( i" m+ U
这个参数是属性。这里所说的属性有:6 s% v5 ^( _1 K- \2 C5 c& L C
与服务器有关的属性:例如:
4 A" H- @1 L( ^. y) t5 ?/EnableRegistryBoot
6 [$ } c3 K0 ~/ j9 U# C/RpcProtocol4 ~! }% I9 C5 z- \! ^7 z
/LogLevel
1 L; \% R* _; {- w/EventlogLevel 等等 (限于篇幅未能全部列出); i! y' e* w$ F* R4 E
与Zone 有关的属性,例如:3 l2 B$ Y" |3 e$ t
/SecureSecondaries# h1 E) D, f4 x/ O- g6 l; T, P* [; }
/AllowUpdate- O2 }% |6 V$ U0 \* O: Y8 Y, O
/Aging9 p$ G1 c/ ^$ K/ [6 B* U7 z, J, E
/RefreshInterval Value
# P* o) K3 e# ~7 r5 i8 C /NoRefreshInterval Value: b; p" F( Z& ]. q
属性值:
( o0 X% p* ?' J1 G' a 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。( \+ W. y0 q- i+ S) m( A
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。9 K4 }: I# x ~7 O% e' b
命令: /Statistics
5 T* o5 F. h- B# ~ 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
w, W. i& Y+ p 用法:* |/ a0 u, X' ]! h, j& ^' _$ Q
dnscmd ServerName /Statistics [Filter|/Clear]7 L- c e5 L( O h8 s0 q, T" A0 v
参数:
. N) a( m; F, W$ J2 f [8 bServerName % @% H' s0 z6 j7 D9 O* e) k
服务器名称,含义同上。
+ w. M+ X0 m. X; b% w3 L7 O可选参数介绍:
( B6 J: U9 Y! G' X% e( A: d共有两个参数,每次只能使用其中的一个。
5 d* E. `* k* R- r# u: |' X6 ]( o7 X 1.过滤(Filter)
8 f( {7 d- w$ O$ `" x 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
& W1 X% Q5 |+ t0 i4 Y可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: - T9 `# X9 k2 I" O4 y
00000001 -- Time
7 D6 M% s4 f, X* @9 V6 h 00000002 -- Query
! y5 q: _3 z& q 00000004 -- Query2
4 T- _0 S$ V' N' _( d 00000008 -- Recurse
' _) i% A9 K* h) T! j 00000010 -- Master
& {, H7 c6 a4 u: R* i 00000020 -- Secondary
6 Y) u" E) P. k1 z. g! h1 x9 G% b+ v 00000040 -- Wins5 Z) u6 p" r& o& d2 [8 I
00000100 -- Update, u, B/ w- k. |9 J
00000200 -- SkwanSec
7 k1 m' ~! D9 p 00000400 -- Ds! G- `/ c$ y5 k6 z- B; n
00010000 -- Memory c* t# [! }, T8 \2 S* W
00100000 -- PacketMem
. {$ d c$ t' g: U \3 p) G! n 00040000 -- Dbase5 {0 s2 v0 R M/ [ V3 q/ S# y' y
00080000 -- Records6 _3 f# O. p) C9 o" M
00200000 -- NbstatMem
5 G; F) F. z7 @# v* N 2.清除 /Clear / G5 d; J h7 b3 o
这个参数用来清除统计信息。
2 m; g) O4 I0 ^# o( J" Y 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
% Y! S% B: b' S1 U! Z; }* N
' f# ?5 d6 X$ e* O$ ~) w 4 d4 P1 v4 Z p
8 q* v/ h+ X: t/ `: b; R |