本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
2 F7 [* z+ ]9 |( Z5 ] 命令: /Info
9 O4 o( d. s; M) P% Z" V" Z 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
! B/ ? M. h, ^6 Y/ s; d7 a 用法:
8 n$ L( S) v" U9 [6 @- y$ K dnscmd ServerName /Info [Property]
. {6 W- v- u5 P; S 参数:* u8 I$ J* N+ O% | b( u3 B: Q- M
ServerName
0 m0 e' e) d& ~ 服务器名称在上一篇中已经介绍过,此处省略。 7 T4 r% \* u7 O; ^
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
) g* P7 [2 Q7 Y. [# y; L 下面是该命令使用的一个比较完整的例子:
! U4 u5 n$ ^3 B! H4 ~+ x" s 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
; Z# y' S$ c. h6 udnscmd 172.16.12.1 /info 只使用命令而不使用参数
s- \+ H8 U% K* i) ^输出的信息:6 k) c0 c$ R2 F3 B7 {3 n8 O
DNS Server 172.16.12.1 Information:: m+ b% z8 r9 A) u/ p: V" z) @0 Z
C:\>dnscmd 172.16.12.1 /info
& m S6 k( }: E3 b( s' AQuery result: 查询结果
2 p% @4 J0 M1 m/ |Server info: 服务器信息0 _9 q/ Z, Y/ |2 v2 K4 S
ptr = 00074718 端口
0 K( t. c& U) _ server name = myserver.microsoft.com 服务器名称+ K6 _( o( R6 i) }1 I. U7 Q
version = C2000005 版本
f! c$ f1 x7 L! Z M DS container = c DS“容器”
5 {- Y/ U7 Y* ], q, N8 f6 S Configuration: 配置信息 这些信息的含义请参考有关资料# T0 ?9 v( @1 Y2 m
dwLogLevel = 00000000, y. Z5 T; M# o6 k i4 }
dwDebugLevel = 00000000' ~1 i9 l i- u+ @5 h$ w
dwRpcProtocol = FFFFFFFF. P4 X6 B! B4 [! N( f
dwNameCheckFlag = 00000002
# e% N; B3 {9 D2 [$ y cAddressAnswerLimit = 05 ~4 B/ E J8 K
dwRecursionRetry = 3
4 ]; s# H! y1 O8 B" z dwRecursionTimeout = 15
_) \2 F( s m; ?7 @, z4 D5 ? dwDsPollingInterval = 300/ p- i! M5 {1 ?$ h9 [' \8 n; w
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
/ {; ` f0 s/ [ k6 [6 n; K2 _, QfBootMethod = 3
; v K; k( Z# c1 [: k* z" S! ]* JfAdminConfigured = 1 ; p, w/ x# l& Z, p5 x3 A9 c
fAllowUpdate = 1
4 r) O# x: o. b- r8 F4 efDsAvailable = 1 & H& [4 F8 S# Y
fAutoReverseZones = 1
+ _+ h. d: b: C1 B F" N/ vfAutoCacheUpdate = 0
# R3 U- |, R- ~# Y0 d. ]fSlave = 0
# C$ b; x: i# _fNoRecursion = 0
+ U) ]. z2 j' U y/ A2 Q: LfRoundRobin = 1
3 B: w( H5 @6 F4 t, b. q8 Y' ~fLocalNetPriority = 1 ; {+ { T+ b$ D: \4 |* V
fStrictFileParsing = 0
- n: s; X! K, K, W5 vfLooseWildcarding = 0
6 {2 Q! o' n! {! S0 }2 @: n" OfBindSecondaries = 1 8 y- A# @% W# o
fWriteAuthorityNs = 0 `5 |0 m# R/ H3 X$ c, Z" W
Aging Configuration: & T. m; Z8 j2 n9 n3 W& G
ScavengingInterval = 0 3 x" d4 X# U& i' T
DefaultAgingState = 0
# w+ \+ j! n( U% |! |) MDefaultRefreshInterval = 168
' W) i8 d0 s5 Q; NDefaultNoRefreshInterval = 168 3 A; M1 b' g ^& c. L8 H) b
ServerAddresses:
. J8 T m, N9 T3 U Addr Count = 1
! \) W7 x* N- c2 _7 h. k" ? Addr[0] => 172.16.12.1- z% f& f& \- v0 S( @0 X% x
ListenAddresses:4 A. V2 Q2 T8 y4 J
NULL IP Array.
7 z" K m4 |4 t R9 y" ?+ l$ _8 i& J Forwarders:$ O( R# \" X8 ^7 U+ T9 R& W
Addr Count = 1( {& N. \. o3 t+ W3 j
Addr[0] => 172.16.4.36 o" v$ R% B, \1 x7 c
forward timeout = 50 n3 ?3 {$ A7 z- \% J* }
slave = 0+ o1 u. G! o: |2 a/ |( U" b$ z
Command completed successfully.命令顺利执行完毕 ) y; k$ C4 K; H8 q
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 3 m+ ~/ }7 d1 Y
命令:/Config+ H/ M! f- K9 i# f8 ]
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。% X, U2 [3 e4 V* r& X
: t* w1 L, T( W- i, r: ?/ A* I1 ^% U 用法:
" c0 v8 h7 Y& J9 ~ dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
" ?/ c* p/ k& f 参数
; ?& @, `- m( ~) L ServerName :服务器名称,意义同上 # ]4 A7 C4 y. Q4 S: N( Y2 B: j$ ^
ZoneName:
1 l8 F2 K* q- j 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
2 s8 f1 y) \1 g7 [ Property:
! x( V- E1 q$ g$ q5 W# i4 |& {: ] 这个参数是属性。这里所说的属性有:
* C% H) C. _1 h' L* ? 与服务器有关的属性:例如:
8 F ^+ W' @4 G, _/EnableRegistryBoot
& {" j1 R Z' h/RpcProtocol
' l/ J6 L- G9 h: {" w( W( C/LogLevel/ j' P6 U1 J6 r+ p
/EventlogLevel 等等 (限于篇幅未能全部列出)
, b2 E# g3 \: I与Zone 有关的属性,例如:+ Z' ^* u4 d; v( o1 {
/SecureSecondaries
! X( V' ^4 u" M/ y /AllowUpdate- z& L8 k3 l3 S
/Aging
/ d4 F5 x) S& Q) k' |2 G7 m /RefreshInterval Value* f0 H6 \3 e: L5 p4 L
/NoRefreshInterval Value
% D4 D- p3 e4 W# g 属性值:7 s6 U/ O$ w, }/ O
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
8 W6 a2 p9 e# i从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。" u: ~* x* q: W% d9 @
命令: /Statistics& E8 r* e o E% q
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。; f8 `) N: L4 ^* U, L4 b2 ]- `6 |
用法: ^, l& W9 a" S0 j8 u& k$ ?- k
dnscmd ServerName /Statistics [Filter|/Clear]
# n/ g% y& U- Q; G- I 参数:
3 c: L" Y2 S7 M: JServerName ( S& o' F: R9 ?* W& _
服务器名称,含义同上。
3 E1 F4 N, T) _% z- c) }1 K/ h可选参数介绍:
* y6 z6 h% C9 X共有两个参数,每次只能使用其中的一个。' I* U2 C2 n9 s0 U# i8 t. w, ~- b
1.过滤(Filter)
$ H, `1 {- }; j 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
% T* p& z3 ?. s6 `. y可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
5 p. h) i5 o9 v) h. K. K5 m3 p 00000001 -- Time
0 n4 `2 O: d+ I# c 00000002 -- Query
( g; p4 J) g" Q% U/ p 00000004 -- Query2
4 I! c6 c( l' l% h 00000008 -- Recurse
v; U2 t/ L p 00000010 -- Master
0 R2 ?& [& \9 R) @* S( Y% J8 `# l3 ? 00000020 -- Secondary
) s6 c# O8 C# \) K# e$ [ 00000040 -- Wins
- t' n7 f4 u" _; S, d. }% O 00000100 -- Update
4 [0 s+ x/ R1 r9 s. @7 f0 n$ m 00000200 -- SkwanSec. ^: z" K! [: n8 a' `! U
00000400 -- Ds
2 i/ D& O/ r" L( k 00010000 -- Memory) V& Z, l9 u9 u* y
00100000 -- PacketMem
# O6 G; @" N0 G5 m$ R m% l; w5 o 00040000 -- Dbase9 z9 R' R- t3 F+ w# Q, t* A/ n* u
00080000 -- Records' k5 z$ Y( l& i! Z( B
00200000 -- NbstatMem2 m; h6 s9 N6 x5 A5 |
2.清除 /Clear 1 g7 T: b% V# D" F" X" ^6 X9 [/ |2 O' S
这个参数用来清除统计信息。+ a2 }7 q y: @ K- ^$ s! T9 ]' P9 s
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
, b- l! I$ r5 c4 g, x. R& W D8 i ~# j* e
3 e% E6 J$ P, I/ n! E- B9 f7 B- j3 C5 i+ T* F7 R0 Y# B
|