本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
/ d" b$ n) W9 _2 }8 p9 V( j 命令: /Info
6 c3 q/ e2 {4 L. D 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。; [2 @/ R0 T7 A8 f* [
用法:5 Q& \' x" J$ l
dnscmd ServerName /Info [Property] * Z% @* g! G- W& |* x' `* u
参数:
4 z2 o3 B! o* ~/ a7 {- G7 z8 w ServerName
( I/ h* ~- ~. f. p 服务器名称在上一篇中已经介绍过,此处省略。 ; E2 P$ V9 O) g0 {
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。 a) _2 m9 r. b
下面是该命令使用的一个比较完整的例子:
& e5 a) }( U6 K/ A$ o: U 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:- u* ^; U/ n4 I8 b& t
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
- o/ E, x0 q( P, X7 |2 i输出的信息:
}) r. _) ?3 _# t5 x1 W# f# h2 JDNS Server 172.16.12.1 Information:
- `5 w3 t0 v0 W5 Y& T6 cC:\>dnscmd 172.16.12.1 /info
5 Q# W6 Q% P( r2 I# w" p6 sQuery result: 查询结果# T& n+ `3 p) c) k" M8 X
Server info: 服务器信息
3 g9 S, l; }4 I! C: e' i ptr = 00074718 端口1 ~' @& Q& d3 B
server name = myserver.microsoft.com 服务器名称
; k5 `8 A, g- t! @' M* l version = C2000005 版本
$ G& x6 p# n) b- n DS container = c DS“容器”
0 K" p: K' d* a" D Configuration: 配置信息 这些信息的含义请参考有关资料( L/ M! v6 T6 P6 ]+ U
dwLogLevel = 00000000
3 H6 J# U; Z; Z dwDebugLevel = 00000000
& G( h9 S6 _7 p0 m% t* t dwRpcProtocol = FFFFFFFF {7 H9 v0 c. \6 n
dwNameCheckFlag = 00000002' K5 y( W6 ?4 M' E1 O$ T
cAddressAnswerLimit = 0
! ^ F. p/ O) Q' j: i dwRecursionRetry = 3
+ K# A% P5 @0 B& o6 a$ N' n( H: [ dwRecursionTimeout = 15* j" C% m$ y9 Q# p
dwDsPollingInterval = 300; g- ~+ N0 r; C( R! Q3 }5 ]1 Y
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
) a4 A2 s- |; a2 XfBootMethod = 3
. ^9 K/ U& y& ]" C: f2 yfAdminConfigured = 1
/ a+ T$ m3 ^! m' ?( b* r4 s& p# QfAllowUpdate = 1
& Q# p6 n/ n/ A7 S3 l+ YfDsAvailable = 1
. Y* d/ H. j( O+ H' r. _. \0 efAutoReverseZones = 1
. F; X( X. _. D8 B' M& i. ^fAutoCacheUpdate = 0 ' N( T/ g: U; j9 ]5 Y# F! l
fSlave = 0 " s: y7 G6 C: a
fNoRecursion = 0
( |7 [- S9 A H8 Q/ YfRoundRobin = 1
- y- N0 |2 R( S+ EfLocalNetPriority = 1 4 h! M2 D4 @) X0 j: u8 D
fStrictFileParsing = 0
( ^$ m; J4 L( V# x; \3 O0 S& C# VfLooseWildcarding = 0
2 |' K/ l1 T! L/ }: B/ JfBindSecondaries = 1
9 b" d/ q3 B' r2 R; H6 R5 YfWriteAuthorityNs = 0 7 k9 b! L% e. J1 U7 ?, P
Aging Configuration:
( Y7 u4 {; M0 d4 N+ Y. pScavengingInterval = 0
; L3 a1 S4 U4 H9 XDefaultAgingState = 0 / ^; E p* D3 j' J
DefaultRefreshInterval = 168
7 m4 H$ l+ u& \+ Q# w5 ^DefaultNoRefreshInterval = 168 9 ^7 h- e3 s* @ D- e
ServerAddresses:
. C9 \& ? a7 R0 U! q Addr Count = 11 z1 k! O# u8 V& |6 C
Addr[0] => 172.16.12.1" o7 _9 t, [# e* c Q3 A" P
ListenAddresses:
, y+ K) g* q' W! T7 H NULL IP Array.
5 K# L5 w+ B; r- a8 r% Y Forwarders:* w9 z: x! u1 m1 `
Addr Count = 1
* t4 Z# g K* k- l% l0 v Addr[0] => 172.16.4.3
0 Z& @1 T4 J7 [3 b! e& { forward timeout = 5& E6 ~5 S3 z% h1 q% u, L& T
slave = 0
! X$ w1 \3 I6 dCommand completed successfully.命令顺利执行完毕
) e. V/ b* t+ h0 c6 Q 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
]6 Y* e) B" |9 n2 |/ ?7 E, p 命令:/Config4 w, z( x( M: x+ b; U+ ^
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。% j% w9 k, }1 k' k0 t
( f \5 [3 O7 p 用法:0 b' v# E7 N1 w, S: \- D
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
I @+ G/ {# t3 I) T4 o6 b! G$ `8 O 参数) l6 F2 C4 l1 f+ g! M2 c s
ServerName :服务器名称,意义同上
: u& L1 ~) ? ]2 U$ g- E' D9 O ZoneName:: w5 m2 ^& J2 R" c" B# |
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 $ i3 o+ q0 B" n. y* G
Property: 4 \' U- r* Q# k8 }4 f9 q$ j
这个参数是属性。这里所说的属性有:: k( c/ A: \' I' I
与服务器有关的属性:例如:7 l4 g' A0 H8 |! H5 S
/EnableRegistryBoot
6 q. D: h6 [% Q' N+ t/RpcProtocol
' d- l( D) p% j+ g/LogLevel
5 A% b) F/ F5 c3 h. u/EventlogLevel 等等 (限于篇幅未能全部列出)
( H" Z1 R h3 k+ z5 g与Zone 有关的属性,例如:
% @4 t H y1 A) e /SecureSecondaries# j0 B; J: A: V# ?' @
/AllowUpdate2 o) O" K2 K8 \& h$ J! w8 g
/Aging
5 S; X0 y% u* U7 {- X /RefreshInterval Value* G& f/ r$ k1 p0 j8 I
/NoRefreshInterval Value9 f2 ^+ s7 }$ {- C7 q, B' S& g
属性值:" R6 ?* r) \ D' u2 r; C4 l, D( ^' U6 ]
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
7 ` Y# ?1 N1 y. F从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
# {% B0 g! {. Z* J6 o 命令: /Statistics
6 c: B( ]' I& j$ i 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
# L4 A$ `3 `& b: g1 ^ 用法:
" C4 G6 U) P. O: A' g4 b dnscmd ServerName /Statistics [Filter|/Clear]
4 _/ x! `; P: i* C" W2 `4 K 参数:) {1 Q3 Z; x, F1 y
ServerName 1 |- g6 L7 O' R( O9 ~
服务器名称,含义同上。8 x: f. w, b6 v* L8 l0 A+ c) J
可选参数介绍:
' ]0 J4 Z1 o5 T共有两个参数,每次只能使用其中的一个。0 [' T8 z7 e1 e0 b
1.过滤(Filter)
( j1 Y: X$ q4 V+ K 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。' L+ X! N) J4 V
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
8 m2 k4 e6 F+ p% m, L: i( e 00000001 -- Time) T2 w6 p; k8 s. F$ e
00000002 -- Query+ F0 g# R7 j8 X/ T, r- g
00000004 -- Query2
" ~. B l: Z% |6 s5 `; w% ? 00000008 -- Recurse
( r8 }) X# j6 W1 z4 Y 00000010 -- Master
! X" T& r% C( A, J `0 m 00000020 -- Secondary5 d5 X4 s* Z0 y+ h% N5 I
00000040 -- Wins
# m9 O* A# r, W* ? 00000100 -- Update
" Z2 M6 s# V; @: q2 B. e. i 00000200 -- SkwanSec
' r8 z1 u% {' K: k 00000400 -- Ds
6 ]: T; c3 i- Y) S$ o 00010000 -- Memory
& E& I4 j0 f) ?9 u7 j+ e 00100000 -- PacketMem
* V4 E) R# g- n( A6 L 00040000 -- Dbase1 W8 q6 ?2 R! o8 H9 z" ~
00080000 -- Records
( t: }5 @6 L- J6 A 00200000 -- NbstatMem7 L' `7 F; Z% {# U' p
2.清除 /Clear
|: }+ z7 r$ p3 y( ?0 U 这个参数用来清除统计信息。
: G* e0 n' Q3 O9 J 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
* Y7 Q# b$ I8 Q# d E% M- f. A3 D8 I" C2 t) w0 T' C( r
+ `2 v+ t) ]+ {
$ h0 v0 f o' m9 s |