本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
! G) ?9 K& d- \0 O, a# y 命令: /Info
, O0 Y' @# l7 l; u4 b. ]; B% n 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
' r( Y) h7 ]: k& W, Q' j- p 用法:
7 P" q7 u; h: l {7 ? dnscmd ServerName /Info [Property] / L( K* f- m# u& o0 _
参数:0 E f' t: V% x( m, X# Y# ], ^8 {
ServerName * r( W: s" O+ ^3 k
服务器名称在上一篇中已经介绍过,此处省略。
7 }" U( K5 v' F6 p* i [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。 w, T7 T$ X; Q2 ~1 P) s& E3 C
下面是该命令使用的一个比较完整的例子:" h0 @9 \6 i B* y0 z$ p+ M
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:# K' G; c# ^3 j
dnscmd 172.16.12.1 /info 只使用命令而不使用参数- T% @4 i3 s- g0 ^ s ?. r4 A T# }
输出的信息:' K+ O" t& \& Y/ t# ^
DNS Server 172.16.12.1 Information:. Z1 \# R$ L C( u. _
C:\>dnscmd 172.16.12.1 /info2 W$ L( D# y: T$ v4 |2 a- L4 X
Query result: 查询结果
) L- O" J: v+ m& I% E/ P. A+ tServer info: 服务器信息1 `8 m; F: g9 N. g% P, p5 S
ptr = 00074718 端口0 e$ j4 ~1 x% ~/ E6 ]9 b
server name = myserver.microsoft.com 服务器名称
6 @8 Y ~6 ]5 x' K version = C2000005 版本* {- L+ o6 |0 ^/ m K( |
DS container = c DS“容器”
8 g' ]- A+ Y! f Configuration: 配置信息 这些信息的含义请参考有关资料0 t" U: z$ p5 ]3 x0 `, E0 q
dwLogLevel = 00000000
- \# `) q4 v2 F, |1 |. h2 N: D dwDebugLevel = 00000000. d- U8 {% ^) [4 y5 U2 C
dwRpcProtocol = FFFFFFFF. c5 g% |: {, m
dwNameCheckFlag = 00000002
% j2 @% f$ S" f9 {" |. ^ cAddressAnswerLimit = 0, z# h6 V3 I0 W3 T( p4 u
dwRecursionRetry = 3
% P' \% @6 T5 p Q# b2 \% U2 G' m' } dwRecursionTimeout = 15! h( E7 C5 H0 E) ~
dwDsPollingInterval = 3002 E6 q0 V2 y2 K3 g
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料# P4 t2 o# }6 F. I/ ]* ~; \
fBootMethod = 3
5 g% g% r( U# ^fAdminConfigured = 1
1 c$ T" C8 D. ~$ Y' MfAllowUpdate = 1
* n/ l% V$ F! w! o0 o# _fDsAvailable = 1 + V' w, ~% _8 t% l6 e. E
fAutoReverseZones = 1 $ O3 D# {( a* U+ ? W O, |6 Z$ V) T
fAutoCacheUpdate = 0
# p$ _+ i# i0 a' {! k0 k, `" u5 U$ ZfSlave = 0 & N/ @. _# d- v( B- g, _
fNoRecursion = 0 - D) |1 @" T2 w) y' J
fRoundRobin = 1
4 |: I: e* }% g5 ?- y5 M" ^fLocalNetPriority = 1 , M: M6 x. m5 b! ^/ t; N
fStrictFileParsing = 0
8 I0 i) X2 }- A) N0 ZfLooseWildcarding = 0
" F& G8 o8 E2 R) r! NfBindSecondaries = 1
8 J- {( Q7 \+ PfWriteAuthorityNs = 0
; e' |# j- \! v3 I7 i- BAging Configuration:
! f. @: s7 L! J! W* M& qScavengingInterval = 0
9 n$ K9 D8 B0 kDefaultAgingState = 0
+ v7 q/ R3 G! O: j1 N1 M# ~DefaultRefreshInterval = 168
1 v T8 A- a5 J9 |' w. }DefaultNoRefreshInterval = 168 8 U+ `6 g. ]4 E) M" [
ServerAddresses:
' ~9 U1 z. i$ T7 y" p Addr Count = 17 _- e% O2 P& A- z8 p
Addr[0] => 172.16.12.1( g: v# }7 K# Q! Q3 c% m+ t
ListenAddresses:; @7 `, |% N) U m5 ] k
NULL IP Array.
" a, c- { L2 P+ R t, L Forwarders:( u% R8 w5 l& T/ U+ W1 v
Addr Count = 1" i+ Y3 @" _) N. v; S: D) `
Addr[0] => 172.16.4.3
' ~+ c# J/ }' o/ g n5 D forward timeout = 5
( T/ P6 y- R& o9 Z7 B slave = 04 a! t: ]$ e+ I- p8 q& `/ N
Command completed successfully.命令顺利执行完毕 , k) ~+ v8 [7 V) p% t3 s. {( l
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 % u7 A: o# A) v f$ x
命令:/Config+ w( a3 E J5 Z! b5 U+ L
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。+ T V$ E7 s- _& y8 W, H
+ K* W C" Q0 e5 j' t; g3 K 用法:
0 p ] U- ?1 d& a w/ G! r dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
5 `; L9 v: z/ l0 k' r8 M) U' N1 m( _ 参数: H8 X6 R; k! G. r6 ^
ServerName :服务器名称,意义同上
$ ]9 e5 S6 a* L6 w- r' L. \ ZoneName:* _' S$ O7 I# C3 M
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
]* |$ m& y) w Property: ' C/ R' I' j/ d+ b2 o! ?+ q7 m' b1 z
这个参数是属性。这里所说的属性有:; f1 `5 w! `* o; r& S1 `
与服务器有关的属性:例如:
U7 b6 ~8 f, z4 Z2 F! T% e/EnableRegistryBoot1 R) X' w' c |1 E
/RpcProtocol B3 l' I! s; W) D% i
/LogLevel
+ h% W: f2 P1 ^. r8 q8 U/EventlogLevel 等等 (限于篇幅未能全部列出)6 K, t3 K- Y) ^6 v% O; H: m( U& u
与Zone 有关的属性,例如:- w3 g- ^9 k X; P- J! \3 o
/SecureSecondaries3 M2 v; [) O3 V; ?' C. X8 B
/AllowUpdate, W+ I9 q' n5 U' N, W- ^6 `" h6 R& H
/Aging) ?! y# W0 c8 Y- K1 {& `
/RefreshInterval Value& K& Y0 ]; W$ i8 J3 C
/NoRefreshInterval Value3 S) h o7 c- c9 v# O
属性值:! S0 I' ^+ X0 H7 d+ m5 b' X* \
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。8 g4 T. D' M J' B6 ]
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。$ N& D) ~2 l" u; l
命令: /Statistics4 T3 [: I# Z* f/ d1 m) F
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。+ g, N* c' t% l8 }' K! F9 c. m
用法:+ X9 f$ J Y# L
dnscmd ServerName /Statistics [Filter|/Clear]* C- C8 G; @+ R: l) f
参数:% u. n% Q# u2 A+ _0 Y: a
ServerName
# O* z2 f7 t4 j P/ g服务器名称,含义同上。1 y+ [6 x8 T+ T6 K _9 K q
可选参数介绍:
0 J @, w* Y' v, R4 W+ D共有两个参数,每次只能使用其中的一个。
+ L; T/ o9 b& b: w2 T 1.过滤(Filter)9 i9 \1 r$ n6 u; @# M2 X( @' Y
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
2 H m8 _) L' ?/ U可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 4 e& n1 o r/ j; R3 f: y5 k! B
00000001 -- Time
4 z ]+ ~" y4 i' x 00000002 -- Query, j+ i3 r' b/ R( g ]7 q
00000004 -- Query2
; o7 A7 [; p4 g9 U' d5 i5 e. Y 00000008 -- Recurse
8 w" T/ b# W3 k9 J! N8 _/ ?; u 00000010 -- Master
: q: g6 u7 J( A. F; X/ a* s | 00000020 -- Secondary
; M/ K. v/ W5 o 00000040 -- Wins! m% L( X; V/ [8 b3 \' Y4 f
00000100 -- Update
+ o0 D+ u. D( A 00000200 -- SkwanSec! w) M( A* E7 R2 P) ]
00000400 -- Ds- q7 G. k" U. \4 w6 v% r
00010000 -- Memory
j B7 y5 y1 J 00100000 -- PacketMem
) Q1 [# v+ f1 I2 {" | 00040000 -- Dbase
9 ~ w- H4 M3 Y. c 00080000 -- Records7 r0 u& C8 l! g. Q' z. y3 z
00200000 -- NbstatMem
# z: u7 L- E6 [. B 2.清除 /Clear
0 E: Q* ~! ?& X. S( p6 B W( b 这个参数用来清除统计信息。
% J6 P3 x( K M/ Q% }/ V9 A 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。- p; a& X2 `2 j7 v
5 l7 X0 X; U; n5 k1 X6 w+ s6 `6 u# \5 g3 P 9 p; z+ P1 F$ f$ r9 y% B6 w; G
+ b7 x4 u6 w; r6 p/ ?: `1 \3 x |