本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。+ t' I1 ?+ l- d, y. @$ [
命令: /Info 3 [( C( L7 p: @5 r$ r# X% |. W9 o
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
4 f* O n( ~& K" _. `! Q 用法:0 d5 V# Z1 F. W4 E: f
dnscmd ServerName /Info [Property] 3 C5 u5 |. l0 t( S4 J/ ]1 @( r: Y
参数:
& V1 L( z% x X! w6 {2 U3 z ServerName
6 t; O d+ D' @+ X! B4 F: q 服务器名称在上一篇中已经介绍过,此处省略。 2 d5 V* J+ C4 M1 C
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
# i' N9 S; `5 r6 ?7 R 下面是该命令使用的一个比较完整的例子:
6 y, o9 g9 [9 G* Q1 G K 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:' s) h. m* ^4 c2 J, }* n
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
. n% d. u' @+ K0 P8 d输出的信息:- x1 b+ }0 o8 g
DNS Server 172.16.12.1 Information:
. k0 O& C' x0 O, N4 _0 WC:\>dnscmd 172.16.12.1 /info
/ f6 a# s Q/ d5 D- c+ i$ iQuery result: 查询结果
9 l0 M* K# q; j G% B5 ^- j5 [Server info: 服务器信息1 {# q9 J% _+ H2 q* a0 r2 h5 V+ w
ptr = 00074718 端口
* ~; ^' c2 P+ l# ] server name = myserver.microsoft.com 服务器名称
, j3 y; L) \% \! a- U version = C2000005 版本
% n' M+ h# i+ y6 Z/ S DS container = c DS“容器”
9 q7 e0 F) z" x, s Configuration: 配置信息 这些信息的含义请参考有关资料/ Z2 D+ a- W2 d. X
dwLogLevel = 000000002 m) q( A: ~9 d+ ]2 k" c
dwDebugLevel = 00000000
& K3 C/ i5 \* [6 |" R' t0 j0 K2 D dwRpcProtocol = FFFFFFFF9 t0 `# s! ^; _
dwNameCheckFlag = 00000002$ z) j: i, ?/ X! f
cAddressAnswerLimit = 0( F! e. Z5 F3 @$ l
dwRecursionRetry = 3
2 {. W3 x% w2 k4 M+ ^, H- D dwRecursionTimeout = 15& |/ U# Z1 ?' p4 y) m
dwDsPollingInterval = 300
" v* Z* T% Y3 d: I5 u1 C' p5 D' H: h Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料* d; ^" D2 _% u
fBootMethod = 3 $ W: P5 l8 c0 u( w
fAdminConfigured = 1 6 `8 K) k, d$ g
fAllowUpdate = 1 1 D' z" U' n M7 o) J, B% x
fDsAvailable = 1
, s" c, S& d8 z9 V% {1 vfAutoReverseZones = 1
+ M0 a" t( H1 WfAutoCacheUpdate = 0
! n; ^9 Y$ k) i0 _' H' ~fSlave = 0 , V/ ?) H( [$ W6 K9 m: q
fNoRecursion = 0 9 P9 j' G/ f0 F
fRoundRobin = 1 9 o( m$ L4 T( a L& D7 ?: L5 t' @" U/ \
fLocalNetPriority = 1
4 s1 F3 t. i) l8 u# T& f6 Z0 CfStrictFileParsing = 0
+ o3 S3 t* t. j+ L8 x* F) G- o3 ifLooseWildcarding = 0 1 K1 q( D2 E1 J0 w
fBindSecondaries = 1 % L, G' U: z5 d+ r% j
fWriteAuthorityNs = 0
. c3 {( }7 b V. V. C$ U' t9 m; eAging Configuration: * ^4 Y: \& @5 x O! ^) ]
ScavengingInterval = 0 5 \% W$ X* Q1 @7 o3 e5 t" m
DefaultAgingState = 0 r- `8 m; ?' M1 e* ^. I
DefaultRefreshInterval = 168
$ J3 B2 {3 o' H, e+ RDefaultNoRefreshInterval = 168
4 J1 ~; Q5 {" [ ServerAddresses:
( l1 r0 R* p+ \ Addr Count = 1/ F7 w. Y7 Z' H
Addr[0] => 172.16.12.1
+ o3 G1 X1 P$ D% V ListenAddresses:0 ] q! k5 w4 h" }) A v" \+ Q* C6 k
NULL IP Array.
`/ F; k& t& {1 G8 q6 } Forwarders:
9 i* j6 B$ P, v$ u9 N Addr Count = 1) H4 X$ m9 Q% c, B# h% Q
Addr[0] => 172.16.4.3
+ [7 M0 r3 L9 _+ p) [7 q. ? forward timeout = 5
8 a D5 j8 ?. r! D' Z V$ Y4 c slave = 0
. x. J! |- q% _2 DCommand completed successfully.命令顺利执行完毕 $ g2 D& ^4 U& V$ m$ ~/ ^- I2 }- Y
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 5 @- ~, Q$ h$ i% v
命令:/Config8 ~2 d' c% d: H9 q
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
: m1 i- `. d8 G4 B E( q) I4 x+ F T; o! f2 G6 u
用法:
% {/ T( N) ~$ i5 j5 J5 @ dnscmd ServerName /Config [ZoneName |..AllZones] Property Value9 R& y( x5 U- j' g* m
参数) k' ^3 i+ X2 u, o
ServerName :服务器名称,意义同上
9 L: s7 u4 ^" b5 q ZoneName:# |' m; z/ u; ^
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ' j [( {8 A$ ^* S( Q$ R
Property:
/ f9 z7 u/ H0 F! t( ^ 这个参数是属性。这里所说的属性有:& U# \9 A6 D$ z0 S- l: H- i
与服务器有关的属性:例如:
3 `% p' h/ A/ `9 `: P/EnableRegistryBoot
3 E3 T# r# q* l- H) m/RpcProtocol! A: L3 p$ R$ T8 N+ L. S
/LogLevel1 x+ I! Z2 z: ^9 A( K
/EventlogLevel 等等 (限于篇幅未能全部列出)
" ~7 Y: T, ^/ u! W, G4 o与Zone 有关的属性,例如:6 n! ^' n/ Z e
/SecureSecondaries& n/ M/ \9 T8 U) I' \9 j0 U
/AllowUpdate) n0 O; g1 V4 o; P& O
/Aging3 W& V9 A9 D& e1 W
/RefreshInterval Value7 K) P) y' m2 k$ w
/NoRefreshInterval Value; c6 ~' U9 S2 w9 {. x
属性值:% f8 B+ _5 R( H z. v5 Q0 |: s
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。: Y1 q1 l0 {! D5 l* R8 k0 p; f \
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
+ p. W+ y5 {3 g2 z: M 命令: /Statistics/ i8 g/ r# O1 @- d" [
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。- o" c2 w0 x! n. ?' g6 V$ L
用法:, w* S: }. {1 a# S) Z/ S
dnscmd ServerName /Statistics [Filter|/Clear]
6 w9 G5 [' a+ f+ E& M( ^ 参数:
4 o1 M) ?; \% f% OServerName
9 p: y" Q& s! d3 V; I4 o( b服务器名称,含义同上。
# R5 m, z; g1 S可选参数介绍:
' g3 D- @/ I( _1 H1 k( F7 r共有两个参数,每次只能使用其中的一个。1 T) Q v# Z. v: S
1.过滤(Filter)
6 w# ]' A1 a7 {$ `- Z6 _0 d# W 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
, i# r) i1 b* I6 k- c2 M可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
* J! q& C$ A0 `! f5 j( s) C& U0 y 00000001 -- Time5 _- O1 A% Y- D4 j* G5 m* S: ]
00000002 -- Query+ q4 i: l1 V/ R
00000004 -- Query2
* }/ g( L2 u4 Q) n! ?6 A: | 00000008 -- Recurse+ T3 `9 [4 Z6 s; D
00000010 -- Master
6 f( t, m: c- ~( S) `- b. m 00000020 -- Secondary5 B5 F1 L9 G* `* s
00000040 -- Wins3 p( k1 ]) W" x2 `2 b: \
00000100 -- Update
) X' ~* J; a1 D$ n 00000200 -- SkwanSec. A4 T0 h( S8 o, w: g) H2 t, x: Y
00000400 -- Ds
3 V4 b* F; w* R+ q0 [ 00010000 -- Memory( p2 g8 l' w1 o4 q9 A
00100000 -- PacketMem7 m/ N$ w' Y1 p" e3 W7 h
00040000 -- Dbase
) J! a) g, ?' X 00080000 -- Records
! Q& q P9 v( k6 x" Q4 T3 z, M/ u 00200000 -- NbstatMem. J( g5 Y% O$ I: p1 a
2.清除 /Clear - v# N, {! l* A. \# m4 O$ i" @( E
这个参数用来清除统计信息。9 e2 T1 r( \) {, h
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
& E# E5 I8 R9 [4 w. q4 M2 _1 r, X( C! Z# w: l
( i* y/ X. v8 Z6 ~, u5 J7 i5 L; A
Z; Z! R& a A: H |