本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。! N$ \3 z) i6 C- G
命令: /Info
- x/ }* g( T+ c& y 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。1 Z- P5 ^5 Q+ m, J
用法:
( H0 ^6 M5 L0 T4 q7 z3 M6 u4 Z dnscmd ServerName /Info [Property] ) u) ^. q( ]5 |, O) p! z7 h
参数:
4 r f" X# ]6 A ServerName
7 s! A( i, [- m( R% c 服务器名称在上一篇中已经介绍过,此处省略。
$ x; }( _! |: Z# A" T+ B [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。- H$ _6 ]( o/ I9 u9 S
下面是该命令使用的一个比较完整的例子:! D( y8 t$ t& |, g$ z5 U9 W4 N
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:! q2 W U& r( s
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
5 s8 R7 H: ~5 n6 o1 b% p6 K输出的信息:
& M; n# V, T/ M0 Q$ _ NDNS Server 172.16.12.1 Information:
5 B* u: C) T4 v3 I9 L4 V1 gC:\>dnscmd 172.16.12.1 /info6 N' s6 H4 D: h! x" Y
Query result: 查询结果) a( a& F' Q& R- ^# N9 B8 r5 }
Server info: 服务器信息% C, f4 s, n( x) W2 N5 f8 c+ n
ptr = 00074718 端口0 `" o: k, E4 m) F0 T
server name = myserver.microsoft.com 服务器名称7 e p% S. A: ?1 n" }$ m1 d# ^
version = C2000005 版本. G0 H* h# S+ _+ Q7 X; z
DS container = c DS“容器”
: u: I: o# z, u; l C; }) |4 Q) ` Configuration: 配置信息 这些信息的含义请参考有关资料
4 u1 `8 i4 M( c0 Z dwLogLevel = 00000000
+ L5 ~! f5 w: r* |7 d1 U% b1 a5 y+ [ dwDebugLevel = 00000000
: a9 ~, Y! C# W E: @ dwRpcProtocol = FFFFFFFF
5 ^* p* q# h+ ]' ?3 P dwNameCheckFlag = 00000002' E! \7 R' L: I/ m
cAddressAnswerLimit = 0, p: Q" I* q% s$ @: z# c/ ~& m
dwRecursionRetry = 3
3 t2 r) \0 K7 C dwRecursionTimeout = 15
8 h- `/ T; p3 e8 D$ k: N/ m dwDsPollingInterval = 300
~0 h9 C3 \9 [) s- a& j Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
% l/ u$ p5 @: |! w: q1 B* P2 {fBootMethod = 3 0 i6 T5 o% i0 Q" g0 ~
fAdminConfigured = 1
- D& I0 A. _, F7 wfAllowUpdate = 1
) v5 I4 e4 b8 h4 U7 \; F) o2 DfDsAvailable = 1 5 ~! i, h8 K/ z9 F' A. ^# v
fAutoReverseZones = 1 & N' q6 U; V& v7 a8 G: Z
fAutoCacheUpdate = 0
5 d: n/ L4 q6 ^, h/ t3 z0 RfSlave = 0
* o' `. k* ~( V3 l9 m+ cfNoRecursion = 0
( G' D$ b; @% b4 f: K3 ~fRoundRobin = 1 s6 c( l, Y) M
fLocalNetPriority = 1
3 e1 d! X+ C2 x" z7 OfStrictFileParsing = 0 / J/ K6 {4 M2 V- Q
fLooseWildcarding = 0 2 K9 X, a1 |* v( T- g1 c1 j
fBindSecondaries = 1
3 J1 g' w1 {9 k6 x7 [fWriteAuthorityNs = 0
; o. x0 _! K' E/ p- zAging Configuration: 3 G7 I p7 `# m) t5 g9 U& @
ScavengingInterval = 0
S7 B; s' M/ S: C) ZDefaultAgingState = 0 ' Y+ c" D4 A. m2 M, a0 P
DefaultRefreshInterval = 168
" l4 c. f5 c7 v; D" V) f7 ^DefaultNoRefreshInterval = 168 & U( `2 a9 X+ S# q" {/ _
ServerAddresses: 6 _2 [* o# R5 e: U
Addr Count = 1* o; v6 c6 ~: R( G, d
Addr[0] => 172.16.12.13 P0 L" r* M+ a2 B; r6 q8 F3 b
ListenAddresses:/ P2 E: R+ U: X
NULL IP Array.! x) t/ ~! `/ h5 G% |$ o8 y4 W
Forwarders:, q# ], b1 k0 y' c6 S" v% ~" _- p) F
Addr Count = 1
; |( |( p+ q7 f- J l; N Addr[0] => 172.16.4.33 _4 s& Z( B! T$ ?9 I
forward timeout = 5
. ]& \) e0 B8 |: y slave = 09 K: G/ N( \" O% D( k
Command completed successfully.命令顺利执行完毕 4 A% ]. c: n' e* X
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
$ O5 ?, R+ p8 U W8 V+ G 命令:/Config
! C. R0 R, M( R0 d" k- u 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
! b) R& m& t% Z- z* `' j. p7 K9 Z" t V: Y
用法:. f) q. Q, i7 ?$ G4 k
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value& S4 H' c, a% ^* Q: X
参数$ e0 W w: W2 W4 l" A% W
ServerName :服务器名称,意义同上 ( [/ m: |. a. A% ^9 [' E w1 l! Z
ZoneName:8 h) g5 a$ b% w) K
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 - ?: L6 U- Z. i) f6 e$ x* x: z
Property: / U) E. F+ t" @* f' I+ x0 _( Q! _8 V1 k+ u
这个参数是属性。这里所说的属性有:
6 U s8 P7 d4 e, q 与服务器有关的属性:例如:
7 Q% N) Z, o" L/ o) }/EnableRegistryBoot
9 D- U2 Y; N7 J, P- F& U/RpcProtocol
% ^3 k' X2 S1 V% n& l' W) W) _/LogLevel1 o% j' E/ j# B; ^1 o
/EventlogLevel 等等 (限于篇幅未能全部列出)
* V. Y; [8 y! I& [0 F. f2 E0 w* `与Zone 有关的属性,例如:% _& z4 u& Q& \! I* U
/SecureSecondaries
! ~5 r; w" `) r6 H' T+ [7 O /AllowUpdate' A2 ], e' R3 L
/Aging% G1 @! }, {* |0 W0 P) t
/RefreshInterval Value# D6 i/ L# E2 E' c/ ]% f4 Z9 _
/NoRefreshInterval Value/ E' x+ Q+ l/ n5 \( ]
属性值:: P. c- f& U' x, @2 }# d7 L) c
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
9 k; r: q( F! W O; ~从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。& R( G/ @" U t, I% G1 p% F
命令: /Statistics
6 C9 {2 Y# I: I9 e 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
6 w ?# p% X+ @% K* l2 l 用法:
2 S6 Z2 \- W) j2 w/ d$ A* c dnscmd ServerName /Statistics [Filter|/Clear]6 f u7 v1 c7 X' J% N# t
参数:
+ n# ?( R8 {& `; D. X; f% ]ServerName , N5 m2 T4 Z8 J3 F8 @- n) d8 L7 v
服务器名称,含义同上。/ w: G* R& k- _3 W- ~
可选参数介绍:
. j; P" _" \2 M* A. `/ _共有两个参数,每次只能使用其中的一个。
9 M/ M1 I4 v) K# D2 p; B3 L 1.过滤(Filter), f& g/ l1 o5 F* m" N x+ O# q# c
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
) ~4 w3 S* q' l$ b4 a6 z5 O; M可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: : r9 v" O7 R7 q: X/ x0 v: [5 h8 b
00000001 -- Time! X1 S2 R! @. N& \6 ]% B9 C
00000002 -- Query
, t7 ^; w# R4 ^0 W) B3 ?; I 00000004 -- Query2+ y% I; z% H! P: f K/ s
00000008 -- Recurse% L `7 p* n' d1 K9 P( B8 P
00000010 -- Master
5 q; U+ N" ?" |) d0 b 00000020 -- Secondary
$ z" v' e5 V) ]/ G: y: E0 C" u; t 00000040 -- Wins1 w8 Y8 K1 E9 a3 F ?/ g H
00000100 -- Update0 b$ S8 W$ R, s2 x( R
00000200 -- SkwanSec& G9 Z" z+ Z+ `) `9 A% n* x% F/ d
00000400 -- Ds+ ?2 g) g1 I7 e% i+ Q# o: O
00010000 -- Memory
% {7 F1 \) j' n' ~ 00100000 -- PacketMem
) h& `3 Y2 \3 x6 f1 A 00040000 -- Dbase: b9 ]8 k) p6 v, U" L8 H+ @
00080000 -- Records
# l" f A/ _4 E- y8 m5 w. u 00200000 -- NbstatMem) i) P( N2 Q. O/ E: [3 \) P5 m" `
2.清除 /Clear 1 z! q# `5 c1 f" d
这个参数用来清除统计信息。# e$ J" i& j+ g8 O }
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
3 V* K, s, S( M+ ?" E- x! o$ v6 m+ k# `. s# h2 k" B
3 k9 N2 T: F% I# z6 W$ m. w% K1 Q
; g( c9 v3 x- t8 F
|