本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。9 i6 G0 r$ [% Y. ~: m
命令: /Info + T& s& o$ X$ J2 R7 C
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。& X! m+ C( ?. K! @" f7 p2 O
用法:
- U# u1 O9 E: } dnscmd ServerName /Info [Property]
5 M; J* M+ T& M3 u$ j# C. q: n 参数:
" H& e* X* d$ I ServerName % N9 e0 B+ C8 C, d
服务器名称在上一篇中已经介绍过,此处省略。 . _7 {2 F( ~+ `: [# }" ^
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。/ E& G6 s, E8 R& e) `
下面是该命令使用的一个比较完整的例子:5 T7 d7 O8 B0 c" n
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:9 S c5 J3 t$ Z A7 j/ x
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
# s& U8 ^/ D% b# G( m- g2 N3 r w4 v8 U输出的信息:/ q% }4 b" e- G
DNS Server 172.16.12.1 Information:5 b7 N' v, w$ c4 w! C+ u- c
C:\>dnscmd 172.16.12.1 /info
' G0 L3 E' c; H# ^0 L4 GQuery result: 查询结果
A+ w% ~+ e t) ]5 x2 t3 A) ]4 U+ yServer info: 服务器信息* l5 A: h& s% y6 p6 y
ptr = 00074718 端口
$ |( S# b% F% R! z server name = myserver.microsoft.com 服务器名称
/ W- d2 R+ S) \* C* U version = C2000005 版本
" J! B# b: I* ~& K2 T7 \! Q7 t DS container = c DS“容器”
% ^: O3 S3 \5 B' } Configuration: 配置信息 这些信息的含义请参考有关资料2 \) e6 ?7 c8 g7 q0 u
dwLogLevel = 00000000! o6 X5 X' r! @6 J4 [
dwDebugLevel = 00000000
, |( v u5 J$ t2 J2 M% d dwRpcProtocol = FFFFFFFF
" e/ d2 _, o6 o7 k) M dwNameCheckFlag = 00000002: ?: O& v7 R/ r! y0 |; b7 z
cAddressAnswerLimit = 0; J h( q& \, y9 ~( ]; N: A: ~
dwRecursionRetry = 38 j* G. f' b) S- s$ n2 Q; X# g, g& ?
dwRecursionTimeout = 15
8 k9 A5 L3 O( c, D" |: F$ Q dwDsPollingInterval = 3006 R6 m( I! q' J
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料- F, \! C$ ^" y
fBootMethod = 3
7 j$ K: E- x* ]2 Y, R. o% d6 xfAdminConfigured = 1
$ g" }& x1 k/ B" c) wfAllowUpdate = 1 , M# }9 H% g/ J# x
fDsAvailable = 1 / _$ y( m1 z/ ^! e" ]7 b1 r! O
fAutoReverseZones = 1 ! e C) \' n" f9 R+ }2 o7 G1 _5 y
fAutoCacheUpdate = 0
/ w7 ?8 u' q8 y% vfSlave = 0 4 a2 h- v) O) o
fNoRecursion = 0 2 W5 l8 P: c |; r
fRoundRobin = 1 M' l# u$ R" ]' w
fLocalNetPriority = 1
9 T8 ?0 E( f8 y8 Z* KfStrictFileParsing = 0 + _) b/ E# }2 H; D5 D, o7 a
fLooseWildcarding = 0 X$ B4 k3 A" Q6 E" x4 n. c
fBindSecondaries = 1 : |0 B( w: I ^2 T( W2 X* \, w
fWriteAuthorityNs = 0 ' n, u9 M; @' L$ }$ a! {
Aging Configuration: + x% E: O" I, t% }9 q! V6 s
ScavengingInterval = 0 4 H8 G$ p" A N: C" L) Y
DefaultAgingState = 0 " u9 Y9 f7 Z+ u8 m2 R2 X0 j
DefaultRefreshInterval = 168
r u# G1 L. L+ Y6 T# V$ fDefaultNoRefreshInterval = 168
3 \7 `& {5 f r; A( B$ F ServerAddresses:
5 E9 k8 A0 f6 X9 _# { Addr Count = 1
- }1 L$ r0 }* n4 Y& O% ` Addr[0] => 172.16.12.1
& g) v2 m2 R$ U ListenAddresses:/ O. O# _/ T3 t T" g' @
NULL IP Array.
. _5 }5 h! j# `. G Forwarders:
5 T# S( C# x* R$ ?9 v) b Addr Count = 1: F) [& C$ D& c1 E$ c7 O" F( |: X
Addr[0] => 172.16.4.3
+ V2 t q% z# C7 e' Z# k forward timeout = 5
/ E6 W1 s3 F8 @" E# c$ u slave = 0
6 G5 i9 S! I, s' F, f2 qCommand completed successfully.命令顺利执行完毕 0 z# K, v9 ~. Z1 @0 C/ k
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
_8 l3 J: k9 m 命令:/Config
# e3 M8 Z0 c$ D 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。+ k9 L* Z# w3 C6 Q' v1 l# l
1 F9 L- P6 x8 T, w7 M) l 用法:
6 l5 w* \' `7 R0 T* y( `$ O+ ^7 @ dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) M/ }% Y+ z. h' ]0 Q+ B. N3 C+ y
参数
' W3 J9 { J) X9 P ServerName :服务器名称,意义同上 ( s% {2 B2 {, Y" t0 ^4 d, s9 \: }
ZoneName:
" i+ Q/ g( h( o$ h } 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
2 U+ o& z B8 a X% _& F Property:
' M% v" ]# L* m0 F3 L. Z* n0 v8 y 这个参数是属性。这里所说的属性有:
6 ]; ^3 v) r4 t8 Q 与服务器有关的属性:例如:
7 D" v! K ]9 G" x; u/EnableRegistryBoot
& V7 ~: }( a- q, M+ v0 L/RpcProtocol
4 f" d) t7 O3 Z/LogLevel
- p+ n7 Q. d7 @" ]( I8 {3 a/EventlogLevel 等等 (限于篇幅未能全部列出)3 I5 \5 L+ y L- Y5 ?
与Zone 有关的属性,例如:4 ~6 z) h5 Q+ _3 j" t
/SecureSecondaries
, i9 A6 k& F$ A/ l) {( P9 S /AllowUpdate8 |' I' H* K. j: A% J: s( r
/Aging
! [! G* Q1 x {* W% j /RefreshInterval Value- O& s! `7 B4 G% f
/NoRefreshInterval Value; i5 i) l/ y; u' x
属性值:+ O7 _ x- e% L5 ]
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。9 H+ a! q! R. C
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。9 J' w" I, h3 \( G; V3 E- K
命令: /Statistics
/ m( z- L9 G$ s" @( A0 q* g( w 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
' [$ p' k- T9 y1 q5 p 用法:
7 J! A6 Y6 X0 e+ p. n dnscmd ServerName /Statistics [Filter|/Clear]
$ J9 p' S$ b3 K ~/ Z& U' j 参数:% l0 f, X- v: X- q: K& {
ServerName . \! o9 w+ y6 N9 T+ q% c
服务器名称,含义同上。
9 n1 f* b) q9 F" R6 P可选参数介绍:
6 E# P0 l3 K' j* A. q" p" H% Y# z共有两个参数,每次只能使用其中的一个。
* t( p! M" X n# {6 O6 C* o 1.过滤(Filter)
6 m7 U2 m! }% ~0 I6 o9 c1 P: ^5 K 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。& q. j3 p m4 d4 n, s
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
2 D } v! V2 \3 x: V' U 00000001 -- Time* n8 _, ?' W" M8 X; b+ {( U* L" o& C
00000002 -- Query/ f5 C" z0 l( T7 v" V+ y. v
00000004 -- Query24 y/ E2 x; ]; y# @- O; o; [8 u% z
00000008 -- Recurse7 w9 y) F8 f" u1 |. u ^' T. ~3 E
00000010 -- Master
2 q) k7 f6 j. `1 M+ m5 Y3 G8 S6 ? 00000020 -- Secondary) B5 T# a( s' @2 o' O& u K
00000040 -- Wins
, B9 q% _+ i6 l+ g8 |1 r 00000100 -- Update
; E, e' u' m& t# b# I, B 00000200 -- SkwanSec
( v( i- u0 z* D2 r% I5 Q% f4 g# t 00000400 -- Ds
" H* s. `4 H) `+ L9 T' T 00010000 -- Memory$ v9 `! C4 h7 N* m: N2 z% c' A: d0 ?
00100000 -- PacketMem) Y# x2 ^* p% P7 O; y$ a7 n' f/ g
00040000 -- Dbase
6 w9 f8 r( a0 a/ g+ d; v5 w- W. f! B 00080000 -- Records
8 {6 y, \ y" u' [" J 00200000 -- NbstatMem" t) W0 @& `! R4 D2 d- b% Q
2.清除 /Clear " D) l# D2 u6 F) h
这个参数用来清除统计信息。0 {7 L2 b. ?4 I
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。# L- L% R& |, ]! z4 a8 F
1 V2 n. @& R; ^6 ^
* q7 C" P; {* X
3 \% R0 l0 M R8 f3 F" h
|