本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。2 x! c$ r1 T! ~$ H3 t( {% e3 S
命令: /Info 4 y! j, [' t) k; g* E6 |" c' x
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。# }7 j1 k+ D7 d1 F
用法:! c: K5 s" G7 ]
dnscmd ServerName /Info [Property]
5 [; V S5 q4 I8 F 参数:0 B' \ Q* k( {% @( a' v5 z
ServerName
9 @% b& k4 Y" |5 n" i 服务器名称在上一篇中已经介绍过,此处省略。
. A J) j7 P1 l [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
4 k) `( H3 u E4 `& {) |4 t2 M8 { 下面是该命令使用的一个比较完整的例子:
! a% t; G# H- k% w% i 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
' a9 r9 p/ C, ~6 C% k5 R& k# ?* Pdnscmd 172.16.12.1 /info 只使用命令而不使用参数
& V3 ~& ~$ V8 L. Q( t- p, S输出的信息:0 ~% @2 x& d' H; U
DNS Server 172.16.12.1 Information:& t; f+ \$ T# |$ F9 s1 W3 a0 ]
C:\>dnscmd 172.16.12.1 /info
. p3 D2 U8 f" M# V: aQuery result: 查询结果7 H' m7 m/ K4 Z
Server info: 服务器信息
4 S0 h: @* {6 q+ q5 f+ q0 | ptr = 00074718 端口
+ p3 E, B3 Y" Z& D' Q3 `5 T server name = myserver.microsoft.com 服务器名称
; h' q2 K5 P( Y8 b8 u5 e4 I: J1 W3 x version = C2000005 版本
9 J/ D: q+ e/ C i DS container = c DS“容器”
0 Y6 E) a# x. F* q6 j# p) Z7 V Configuration: 配置信息 这些信息的含义请参考有关资料2 Y/ `1 o2 b$ ~7 Q: ~; T" I
dwLogLevel = 00000000* w! ~0 ?# L* V y, W# d
dwDebugLevel = 00000000
3 H" T3 } U0 x$ V; b; U dwRpcProtocol = FFFFFFFF
- @, x8 }- [& F4 w. \* C! _! ] dwNameCheckFlag = 00000002& S8 [" k- s* p+ t
cAddressAnswerLimit = 0+ k; }- S9 A3 \1 @
dwRecursionRetry = 3
* R5 _' u( D9 j4 Y7 `" b; T8 c dwRecursionTimeout = 15! ]) d6 @! n! Y; m; d( B0 l. d( ~
dwDsPollingInterval = 3009 V1 y, |0 C' D; v- \3 e6 D6 Z$ {
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料+ { v& i+ y5 k( j! }) V% X: N1 L
fBootMethod = 3
9 u2 t+ A6 v! F& S8 dfAdminConfigured = 1 ) M8 h# B0 W% k3 ]: e
fAllowUpdate = 1
! Y0 _) d$ u) {( i, [2 ^fDsAvailable = 1 # N, q, U5 p; L/ t$ N
fAutoReverseZones = 1
6 C) B/ }2 \ R7 H& qfAutoCacheUpdate = 0 ( S+ W# D# h( X% n1 h) J" P" C
fSlave = 0
* p: m$ O1 U }" [7 r( I3 `5 RfNoRecursion = 0 ) e8 S2 q/ V# R% o! V
fRoundRobin = 1 * }( k& f+ p8 {. I. j
fLocalNetPriority = 1
9 C) h d4 m7 ?" K' f. XfStrictFileParsing = 0 ) t: w, a/ e. e
fLooseWildcarding = 0 4 `7 E! i; E) _0 y3 H
fBindSecondaries = 1 6 W; A- |% G* |7 [" N1 `
fWriteAuthorityNs = 0
( V* H2 @5 A1 a- X7 w6 R ?3 bAging Configuration: & z8 E8 l" J( K7 A+ {8 u" ^3 W& c
ScavengingInterval = 0 # E0 {0 }1 V% z" C& }5 y+ J* g
DefaultAgingState = 0
1 ~, a$ U I5 w1 y, [/ }DefaultRefreshInterval = 168 7 Y- X6 t+ A& `8 `5 [
DefaultNoRefreshInterval = 168 - ]/ v+ d$ Q5 I3 w1 G2 D) C
ServerAddresses:
% b8 r4 `7 u' u: M7 s Addr Count = 1
9 T9 j8 N2 e$ U5 x( @ Addr[0] => 172.16.12.1- k6 v* x% l2 X4 U$ I; j
ListenAddresses:
. u$ l m" A9 L8 }+ d D D& R NULL IP Array.' ?! o/ z H3 X) o( W5 e
Forwarders:
- k8 W, ] U; Z) T Addr Count = 1' r8 e X( W: i/ O4 n
Addr[0] => 172.16.4.3
0 U; k$ T; M5 {7 m# A$ Q* f# F forward timeout = 5/ R4 i1 N% V3 \4 G6 A) E8 v& ?
slave = 0
! ^0 T J) g& [' |$ hCommand completed successfully.命令顺利执行完毕 & o. M* w& @. g4 P
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 % F# L& t* P6 H: ?1 K& I# l
命令:/Config
) v; T9 y6 q: U2 B% s# C5 N 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。# r. s3 [: w& E. [: S
/ _+ D. Z: i# v, _8 d4 B 用法:1 F- j" R8 }8 E. u0 _ R1 q1 U
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value3 w+ v+ E8 u( C
参数5 M9 J& h2 X4 {9 y) d
ServerName :服务器名称,意义同上
; G- R! ]& q! o9 g0 a ZoneName:. f. y3 h5 A5 b, i- t* X! g5 {8 o% J
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
3 L k$ T4 z. S" y Property: 2 M1 Y3 Y$ @1 L1 B( ]
这个参数是属性。这里所说的属性有:
% D& A" X6 _" Q: j 与服务器有关的属性:例如:
9 Z% ^5 t! x- o/EnableRegistryBoot+ I1 W, z7 v" v' p
/RpcProtocol. B# U& P2 X0 y: F
/LogLevel; Z* K+ F+ q3 i r
/EventlogLevel 等等 (限于篇幅未能全部列出)
0 q4 H8 n" g4 W. X: H4 K与Zone 有关的属性,例如:
2 a; p" ~, H+ P7 d /SecureSecondaries7 U, m8 R# O3 p3 f$ E7 D. G
/AllowUpdate- C4 n# H/ m; M% n3 P
/Aging
% U D6 d2 B H* O /RefreshInterval Value3 m& b$ Y! F0 a
/NoRefreshInterval Value
! x; R# q8 e; [2 u$ }( \# O) M" c 属性值:# u; e8 Q% Q3 \
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
( r. S% Z1 K( m+ j! y% l' d7 r% y: x4 x从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
+ {- X n" `3 D3 F& Q- t 命令: /Statistics
8 o, v) x( R" c3 W 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。/ t/ }' w9 e3 V: ^2 P
用法:
b3 D m$ v% o( ^3 s' l1 L dnscmd ServerName /Statistics [Filter|/Clear]
4 k! T3 g+ F% Z' s% v5 G% K& J 参数:
! S. L# k; a: a0 `& B$ h; bServerName . v7 ~* h) k% @
服务器名称,含义同上。
9 ]" m: k8 C* w }1 G7 m; b可选参数介绍:
: s+ F" X7 ^( c, I; e共有两个参数,每次只能使用其中的一个。
( P/ Q3 V: @# d, n2 y% j 1.过滤(Filter)
1 E$ s; a( A/ T3 Z2 Z 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。( U& K3 |( b( G" y: m
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ' \* Y- |6 Y4 T6 l
00000001 -- Time+ k& _( o9 B2 I3 X, T7 [5 R
00000002 -- Query- a! X: J5 ]+ ^) u3 i u, l. {
00000004 -- Query2
% H9 l- r2 B" \! h 00000008 -- Recurse& H7 c1 V% u' ~( C
00000010 -- Master
3 x5 i2 O/ L/ q1 i 00000020 -- Secondary8 a8 M4 X# X4 s6 h
00000040 -- Wins4 X5 L9 n; g$ Y) j0 _ l
00000100 -- Update
- s* g- ^$ b: Z8 _" M( Y# E 00000200 -- SkwanSec
0 _2 ]2 L3 G5 Z0 `+ G! n$ g 00000400 -- Ds6 [/ ]; V4 @5 M9 p0 C4 D) w; }
00010000 -- Memory8 R. G; |) R2 n9 U0 R
00100000 -- PacketMem5 w- J5 f2 S. f7 ]; l1 b
00040000 -- Dbase0 V. }$ S* d5 L$ H/ A3 W# Y
00080000 -- Records3 V* h% Q" R) G! Z
00200000 -- NbstatMem
) F/ F6 t0 m# d ]: x) G0 v' \' n 2.清除 /Clear ' [' j1 G( M5 ^ A
这个参数用来清除统计信息。
' [% J' a4 ?8 R 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。3 f/ E. T9 [" @! }5 s5 b2 ]+ H1 r$ A
( P4 O2 V3 q5 v, R. E. r
$ z5 u9 I% s5 ^" C; I7 P& B& {2 d# U5 ^4 O
|