本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
0 n0 P' U: A% h+ J4 _ 命令: /Info
- `. J* K, I( I/ E 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。* ]" }: g' J, m* w( e/ s- K8 J
用法:9 ~4 K8 P* d7 l4 ~7 z, _
dnscmd ServerName /Info [Property]
9 X( `( [2 h) b; Y 参数:
" U; e/ h6 O0 k# Q ServerName 5 N* q- i6 @* o& G" s
服务器名称在上一篇中已经介绍过,此处省略。
0 M F) Q/ u4 b7 [ [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
6 D2 p4 x. B& S" r 下面是该命令使用的一个比较完整的例子:
9 S, w* J2 h/ T 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:3 K5 X, p4 i7 j0 y8 q2 R f
dnscmd 172.16.12.1 /info 只使用命令而不使用参数6 m# B; k( F2 w1 C
输出的信息:
0 P2 |: i4 {' `- P* j1 uDNS Server 172.16.12.1 Information:" R s. P# r, i5 N
C:\>dnscmd 172.16.12.1 /info
9 U9 L/ F2 s8 b6 [$ YQuery result: 查询结果2 `' i c9 T* X5 ]
Server info: 服务器信息
; ]" U- }7 K2 u ^ ptr = 00074718 端口
' ^4 ]' C" R. ]' n# N; d# w* t server name = myserver.microsoft.com 服务器名称6 b; y" ?1 ?9 P; a+ c
version = C2000005 版本
2 R& u$ d" N$ b5 z( D6 O$ `' s) H DS container = c DS“容器”8 z4 n5 t* I( Q* [* ~$ [
Configuration: 配置信息 这些信息的含义请参考有关资料
' [! }- j+ M. I! s3 j dwLogLevel = 00000000! v6 P6 U& W5 S. y9 p
dwDebugLevel = 00000000/ W" V1 i: Z( v+ T( H
dwRpcProtocol = FFFFFFFF% O1 `3 Q4 w. r. u+ ~* u
dwNameCheckFlag = 00000002
I* K) l4 `3 P2 C; N6 p cAddressAnswerLimit = 0
( y. ~& Z) B3 ` F9 K3 X dwRecursionRetry = 30 C0 G- j8 T) q( d& ]' z2 n
dwRecursionTimeout = 15
9 n' h" b3 `7 h' ^ dwDsPollingInterval = 3008 I5 N3 _$ {& l* F ]8 G# k
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料- v& |; U* h: l
fBootMethod = 3
% N% b/ r: a+ d' n) H2 \fAdminConfigured = 1 3 o& \' @) k# \. t8 X
fAllowUpdate = 1
8 M% p* r6 W1 B. y! w5 ffDsAvailable = 1 % M O0 L# K$ A" S7 b3 Z1 o# |
fAutoReverseZones = 1 & K; }, A7 n. t8 I( B9 g5 v
fAutoCacheUpdate = 0 1 P% }1 ^6 k; J1 v
fSlave = 0
5 o' G Z& ^7 t6 bfNoRecursion = 0
9 E6 |. {- K2 u! |: \" i5 BfRoundRobin = 1
4 |0 [" L; Q5 J e/ I0 Z& y4 QfLocalNetPriority = 1
/ e L" G. {' b- e& Q# c l2 {fStrictFileParsing = 0 " S6 ~0 A5 _2 r; ]7 L2 D
fLooseWildcarding = 0 ! t0 C1 M+ \% }; p& X) X- E3 ~4 i1 Z y
fBindSecondaries = 1 2 W% g; X' m/ M: b# r w0 i; S" e" t
fWriteAuthorityNs = 0 : L6 [( R* \+ Q. i G
Aging Configuration: 1 k) W, ^+ k6 G% h# d, q5 Z; o
ScavengingInterval = 0 3 K! c# X! ~6 q- @1 V
DefaultAgingState = 0 o* {* e4 d+ r L
DefaultRefreshInterval = 168 . Y. V/ d# q: q% H3 _% }
DefaultNoRefreshInterval = 168
' L' w4 Y1 `% H6 m) W ServerAddresses:
7 q0 W8 b4 G+ B' w8 A, P Addr Count = 1# s* g" ^$ B: E0 ~
Addr[0] => 172.16.12.19 r; f4 {, l B& w
ListenAddresses:
2 o/ j. x5 X; }) | NULL IP Array.! k: _2 y; b' y9 O
Forwarders:. V6 K5 C7 P( m: h; ]* r' r
Addr Count = 1' J0 I( j3 C$ t+ B' T) E3 ?* H
Addr[0] => 172.16.4.34 f' d" O; @3 a H3 |) v# f
forward timeout = 56 Z4 C7 O$ n& e6 `. Y0 r" y2 I, J
slave = 0
+ M4 Z; Z5 O8 f, N) XCommand completed successfully.命令顺利执行完毕
. B v. W9 g* X7 v 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
! {3 Z; R. u: O f4 @3 R 命令:/Config* Y! E5 `8 y& j& F8 V
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
! l: b. A& u6 h/ x2 G# S# H) `- i& f
! B( \/ x3 Q5 o1 p% V/ ?% i4 P+ } 用法:
, z0 a& b8 M: P! ? dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) W! J/ e1 i. [( H. N3 n9 W# f
参数- C1 c9 K/ l% h3 H( z% h
ServerName :服务器名称,意义同上
, K( C5 Y# c# V: q, y) W ZoneName:
2 L+ b* m5 X2 { 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 , n7 H; Z: ?4 g) M* N
Property:
) p: G# n$ X; U; o$ V 这个参数是属性。这里所说的属性有:# F# g L3 o0 |
与服务器有关的属性:例如:
2 A6 q3 j1 t( O/EnableRegistryBoot
" A5 }, [, P7 ~/RpcProtocol
5 `( F1 p$ R) w2 I* ~- ]- P/LogLevel5 a# `+ ]' N4 @2 L1 V" P( L; r
/EventlogLevel 等等 (限于篇幅未能全部列出)
% W; w" W, o8 R6 \- l: o与Zone 有关的属性,例如:3 j% d D6 k4 Y$ k. H& k- ?
/SecureSecondaries; Z' }' v1 m- f: C1 k& q& v
/AllowUpdate5 N; P3 S1 H5 z8 w( G% e3 }
/Aging
1 X, J$ O8 i7 X1 }4 B$ h /RefreshInterval Value
3 I: h( Z# V$ u0 j% E5 _ /NoRefreshInterval Value
# D9 Z# d& q8 B( P" ^; F 属性值:& ]: D9 O( r$ H, O1 b( d
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。! |3 G$ Q; P* w2 ] P
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。7 p O- o) y* p, W
命令: /Statistics
1 I @& \4 T/ X$ f! I 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
& o0 {" b% @- \9 u9 _- p) M 用法:
. \2 \' k& P9 I* p5 ]0 T2 F% a dnscmd ServerName /Statistics [Filter|/Clear]5 I) u/ X1 P4 e( m2 M
参数:
' J! U5 U( y: k* ~& I3 P7 f$ zServerName ) f8 ]& m& j! _+ q9 V
服务器名称,含义同上。1 g8 s6 a6 _3 {- [; `
可选参数介绍:
. I6 k# C5 M/ r2 R( A共有两个参数,每次只能使用其中的一个。% m, g2 ^; _5 u3 @
1.过滤(Filter)) I5 N5 b! w7 U! J; O
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
4 }9 ]( d0 S& l1 y. K! ~可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 3 _: c4 L/ i7 ^8 @% k
00000001 -- Time; s- R" R' G! y% V3 J6 `. R
00000002 -- Query/ E. U2 P9 [7 M
00000004 -- Query2
) w9 e" z# a* J: Z% y- R 00000008 -- Recurse* k' h, \) t% k/ }2 L, y; J
00000010 -- Master
/ x1 t7 t2 X; _; T" Q( c4 J" W 00000020 -- Secondary
( a' I/ D8 X" Y0 A 00000040 -- Wins
+ p) P! {5 `5 o8 i' e, o& ~: | 00000100 -- Update9 s. _( o0 {9 u) [& G M
00000200 -- SkwanSec5 H- g$ o: ` i2 S% l
00000400 -- Ds
O9 c! v5 P! g0 C4 } 00010000 -- Memory
3 V$ }( s; o/ r) r/ j+ O% ` 00100000 -- PacketMem
0 f: i# ^$ R/ V% N 00040000 -- Dbase6 G5 j: N3 e& T6 P
00080000 -- Records; N* z9 t: V7 C# h6 b. L) G7 Q+ ^! M
00200000 -- NbstatMem4 N; W5 Z" S! ?, k+ B( S
2.清除 /Clear
) m) d' I2 C3 q 这个参数用来清除统计信息。4 X+ m6 C: {3 r8 A6 c
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。) I) f7 O5 B% v# q
' _8 b& `9 r2 x; @, I# r" I: E
) ]) Y) x' X. e% o! u- Z
" N! d1 p6 }6 \0 _0 M% ~, z# P9 x |