本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。! F( u/ v- {7 c5 I* M; Q' O% j
命令: /Info 2 j: A; t# C, a4 t0 N
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
- Y, z! l( z% I5 q; q2 S) f 用法:
5 t4 j6 d. ~. G. J, y" E% M) G dnscmd ServerName /Info [Property]
/ h- q3 s. J8 }$ f ] 参数:
' u% ?1 t- k5 ]$ z; |4 s ServerName / u+ J$ D+ H i1 ~ }+ @! \+ L' i
服务器名称在上一篇中已经介绍过,此处省略。
& z$ }6 c" ] s; T3 R [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
5 K1 k+ z) ^2 k" \ 下面是该命令使用的一个比较完整的例子:5 W7 A( h ?/ p6 f/ p/ ^& X1 Z
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
' C, j1 |6 s6 _# ^* s4 cdnscmd 172.16.12.1 /info 只使用命令而不使用参数
7 i' w) N5 `* v3 Q+ T输出的信息:
7 _% ]" _3 ~6 wDNS Server 172.16.12.1 Information:
1 C O! r0 o" O% YC:\>dnscmd 172.16.12.1 /info ~$ v+ {) r0 G: R
Query result: 查询结果
& R7 ^8 f7 ^$ p: |$ JServer info: 服务器信息
7 }( \+ B4 P0 r6 l: R6 U' s6 } ptr = 00074718 端口; z I; q+ S1 @( r+ l9 q
server name = myserver.microsoft.com 服务器名称
* I0 k# g- D4 J4 |& |" Y$ Z version = C2000005 版本
6 C) {9 w; @# K( s9 d DS container = c DS“容器”) [8 S+ q9 y4 ]/ @1 C6 c1 T6 D
Configuration: 配置信息 这些信息的含义请参考有关资料
! u# u9 a8 h3 [* U* L dwLogLevel = 00000000
) m' J5 L2 W/ ~) ] dwDebugLevel = 00000000
* N5 D: U/ K4 L/ O: z dwRpcProtocol = FFFFFFFF9 ^) h& q1 `' ]9 U a M3 n
dwNameCheckFlag = 00000002$ [) J) G, E7 _5 q
cAddressAnswerLimit = 0
3 ^- k+ u) j* ?0 p2 G2 x# \) i dwRecursionRetry = 3' h) q- u" b+ G4 t' z3 y+ {
dwRecursionTimeout = 15
" b' H! s% B. r, D% T) {& n dwDsPollingInterval = 300- x0 Q* z% x& ~' T* [: ~+ q- e
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
2 q/ D1 { a* K: F# v8 h+ i& `4 ffBootMethod = 3
! h1 s+ v' w4 I8 e5 dfAdminConfigured = 1
, i8 {/ `9 `. G' @) Z( F( b8 wfAllowUpdate = 1 & F3 `: Y) s3 C
fDsAvailable = 1 0 c5 j3 b+ p9 v) Z5 e. a8 m
fAutoReverseZones = 1 % q2 c& o& X7 Y/ a# a# z; v9 m
fAutoCacheUpdate = 0 - }* ^3 Z G) d2 X
fSlave = 0
" R" U' t( M9 w Q) A7 pfNoRecursion = 0
: M1 Q: B6 z$ F& e+ c6 D" I% OfRoundRobin = 1 5 Z+ T3 ?1 C! k S+ X( l
fLocalNetPriority = 1
- X& I! E. _5 q+ ifStrictFileParsing = 0 " u1 k4 A0 ^, S. c9 v' e9 v
fLooseWildcarding = 0 8 s5 z3 `5 n% v$ {
fBindSecondaries = 1 - Z, q s6 _* }) V
fWriteAuthorityNs = 0 9 q& u W) `! e' t
Aging Configuration: 9 W- {" t! p( F. b+ q% E* Q, L) b
ScavengingInterval = 0
/ k. E" _, O. ?DefaultAgingState = 0
4 k4 D; i; C6 R2 NDefaultRefreshInterval = 168 8 c0 x6 ?) E# I$ C0 p
DefaultNoRefreshInterval = 168 ; Y* e( h2 X7 U3 Z9 A
ServerAddresses:
& q9 [9 e4 z! r7 o* a8 n Addr Count = 1# H; ^% k/ Y7 y$ G, Z
Addr[0] => 172.16.12.1; J2 ~4 {0 `2 D7 H* }, J2 ]
ListenAddresses:
6 `% h1 B4 l% k1 A2 Q, Z$ A NULL IP Array./ {& x3 G: A# F% K" T
Forwarders:: y/ U3 u) j/ ?9 p4 {
Addr Count = 1
) q2 t7 Y" o9 L Addr[0] => 172.16.4.3' [; Q& u( |' Z8 w
forward timeout = 5
9 G1 B* O w% a slave = 09 R5 X# @+ D% |2 H) v1 K
Command completed successfully.命令顺利执行完毕 + O; p$ D: q4 j% G' f
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
# A# G( W7 c8 k 命令:/Config! Y4 t/ H9 I, R5 K5 ]! l5 M
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。4 J0 G4 y. T- r6 c
3 e- u, B8 @, p
用法:
5 M J+ B: X a dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
' ~4 _+ C* O0 ] 参数
. }$ p3 ] z! G: A5 F1 l ServerName :服务器名称,意义同上
) J Q# P' E5 \ ZoneName:; K( d' [) o, B, l
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 Z3 s8 r# x' X0 o+ V) k" H t/ @
Property: 3 M1 F, i Y7 o( }% z& W' X; d9 S
这个参数是属性。这里所说的属性有:
$ W: X8 p& L0 Y5 ?! \" } 与服务器有关的属性:例如:
" n6 l2 w! u5 c8 g: R& S+ a y/EnableRegistryBoot8 z4 z- Z8 C- L! O
/RpcProtocol# f: |8 E& C. q4 q: o+ s1 Z
/LogLevel. y* F0 O B5 p8 A n
/EventlogLevel 等等 (限于篇幅未能全部列出)% H# l! H/ F- }
与Zone 有关的属性,例如:! s5 x6 P7 |5 L
/SecureSecondaries
! y1 I: v) c1 b8 L3 R: A! z- N /AllowUpdate
) |5 [1 Z6 @8 V) q3 v1 x /Aging6 }7 r7 G% A* |0 E _$ d
/RefreshInterval Value6 w- Q. N. B- A7 q
/NoRefreshInterval Value
* X1 U! e( A5 N! ?0 G) {# x6 E' n 属性值:
' X* I Q4 |: w& L4 ~) z 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
/ b6 J/ b2 N- l1 Z9 U5 d从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。) x) _2 \% G* f2 F2 O U- V! Q$ n* [
命令: /Statistics
/ x' P( b+ ?# N* M) C3 h- U$ `3 u 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
, [# K; m$ u# g+ _6 D0 V 用法:3 |# A5 O( |8 o1 c2 Z% l e; G8 _
dnscmd ServerName /Statistics [Filter|/Clear]
% B5 W: g6 z! }8 f; |1 G 参数:! P1 G, z4 T3 l) O: @3 J* a2 e
ServerName
5 f% M- j p* U1 o; y服务器名称,含义同上。( \" j% l5 j f% |2 A4 P0 N
可选参数介绍:* j3 t- W' `1 {5 I( A# [2 c
共有两个参数,每次只能使用其中的一个。& y, j1 C; B1 u4 w( }0 \, g
1.过滤(Filter)5 z6 M) C$ N# ?! g$ M& v6 x/ r' x
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
, U# ?( A+ E1 ]4 G9 X% Q/ I7 I8 P可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
0 I8 e- L5 i- O% b' Y5 E, k7 k& D 00000001 -- Time' T- ]: G$ r% l* K
00000002 -- Query C% @; G% A( @
00000004 -- Query2
( ^: N+ Z! d8 A. F: K% ? 00000008 -- Recurse
, [7 J3 J8 I' [/ A 00000010 -- Master
- a3 N- E: O5 t* `$ g 00000020 -- Secondary
* U0 x1 C& W8 m 00000040 -- Wins1 g0 I' ~: e8 Q$ }3 [# Z8 T
00000100 -- Update& i$ @2 O V7 L* A! V9 u& Q
00000200 -- SkwanSec$ a1 w" _- N+ R7 u( w6 T
00000400 -- Ds+ J. m/ A* G n$ K, b4 f
00010000 -- Memory
- [* ~/ \0 n& x 00100000 -- PacketMem
) z9 o, H$ v' Y 00040000 -- Dbase
: K6 c) E- P M5 ^ 00080000 -- Records
8 ~4 N1 n# G9 E! V! p 00200000 -- NbstatMem
4 d' J m% g; S$ I& E4 {% C 2.清除 /Clear
x1 f$ M- M+ S4 \, f6 Y! t" n0 S. ~ 这个参数用来清除统计信息。
" i0 ^6 E4 M3 ~: A9 J+ o+ g 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
3 o0 }3 ]% g2 Y6 E8 l# \
7 p% d6 w* i3 B) R0 u) S " B4 Q/ O' y7 @& K. k" E
7 o0 ^/ @ J# Z2 P& O6 `' S |