本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。2 C! ] y; V' u6 l
命令: /Info / ~6 g! }. p6 Z" ]- {- K4 D2 X
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。. q3 S( @9 m! @& a
用法:( G' X& o/ B, A `0 c/ w
dnscmd ServerName /Info [Property]
) G8 w2 t7 O2 n 参数:3 N! h# J: N- D) u& {: H
ServerName : l6 |1 l P1 F
服务器名称在上一篇中已经介绍过,此处省略。 # z' I* B4 @& n7 [ P3 V1 ~
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。: F" J* W: s' [2 m' M
下面是该命令使用的一个比较完整的例子:
, J) w F0 Y: S 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
& t& N( B- _/ A3 Ydnscmd 172.16.12.1 /info 只使用命令而不使用参数1 T) H5 j& u4 V& T p
输出的信息:# C0 S" T+ g6 W9 |& f
DNS Server 172.16.12.1 Information:( v* \! j3 o- l* Q+ X
C:\>dnscmd 172.16.12.1 /info6 M* c, L+ \: A
Query result: 查询结果
/ _1 p* ]4 r4 jServer info: 服务器信息- p* {& [. W) l5 F- I- D, F
ptr = 00074718 端口
; {! T0 N" y' n: z8 m; r server name = myserver.microsoft.com 服务器名称
( G3 L G4 O m- [5 S @) o version = C2000005 版本5 G2 `' O& E% k6 Q4 _% i
DS container = c DS“容器”3 N7 y0 i# j7 z7 T! F- I" o
Configuration: 配置信息 这些信息的含义请参考有关资料0 p9 O. L9 {4 o6 e& p
dwLogLevel = 00000000
" ?- a ]& M0 v dwDebugLevel = 000000009 b- N O! @# p- y
dwRpcProtocol = FFFFFFFF) o( R! {- d5 v; D! {2 p1 G
dwNameCheckFlag = 00000002! I. e" T4 D, V! R( ]: O1 W
cAddressAnswerLimit = 0
7 [7 p1 C: Y1 b" O! g dwRecursionRetry = 3 } o0 l/ @/ M( V; f' |0 r% G
dwRecursionTimeout = 156 P# D. p& v& w' z) _) a
dwDsPollingInterval = 300' X% F8 ]1 ?7 w c
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料& ]; R6 E; L6 Q) F$ f
fBootMethod = 3
0 y0 o5 b9 {# n. w6 r/ A DfAdminConfigured = 1
2 z3 \" | |& dfAllowUpdate = 1
' f# f9 @; C" ?4 [fDsAvailable = 1
1 j, H. U+ ` l. D5 r2 T: rfAutoReverseZones = 1 ) G0 v; Z) ?5 y. F6 ?' j
fAutoCacheUpdate = 0 0 Z; w8 R0 d* z, ^2 G& {
fSlave = 0
# D) |# u/ {8 \1 O# z# V. {( k' ~fNoRecursion = 0 8 R+ B8 P! V. m. M4 O K8 U, v
fRoundRobin = 1 : k9 b3 y4 H6 Y2 G6 c4 c
fLocalNetPriority = 1 6 r5 d9 J# h* C. E `$ U5 O; E
fStrictFileParsing = 0
$ Q) n& ]* V. d- D3 T! QfLooseWildcarding = 0
: m! A4 S( u$ n1 Q* B( F- efBindSecondaries = 1
1 t8 A5 a4 f* g: t0 N. G) UfWriteAuthorityNs = 0
" ] X; K" ?) c" M3 IAging Configuration:
' T0 r+ u4 n# RScavengingInterval = 0 2 c" j2 k! v( j+ w. U# O6 C {
DefaultAgingState = 0 4 c- Y; a; R& K9 B" B
DefaultRefreshInterval = 168
% G4 L0 V# |' P9 E' b- ]& sDefaultNoRefreshInterval = 168
( D. @( ~2 i- y# T% Z ServerAddresses: * K0 s! c8 {. q3 }1 B" E$ o
Addr Count = 1: @# X' D0 F/ E" t6 E$ O
Addr[0] => 172.16.12.1# B: b+ @, @$ q1 ?6 @# T
ListenAddresses:
. _- v- Q S% ^ NULL IP Array.' P) \- A: {/ ^# e& m
Forwarders:
1 t& d* a* ]* }* L, U Addr Count = 1
- o4 _) v2 A' f9 _8 ~" P+ V Addr[0] => 172.16.4.3( @- j& T6 D1 }+ p/ B$ X
forward timeout = 5) z9 U' V# D2 ]# q
slave = 0, u6 ]# P8 m8 V+ y( T
Command completed successfully.命令顺利执行完毕 ' m) m _6 |: A4 W- B, K, q
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 4 H, S' E8 M* A# y3 M; y7 \* N$ V# e
命令:/Config0 C0 Z- n7 S: m4 e" ]
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。* u9 ?5 d, `* T8 l5 p
1 g6 V* k0 y# v0 U/ M
用法:% B5 o/ Q& t; U2 n( h, ]# d
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
4 E+ g+ E/ y6 M8 F! }* \0 m 参数
+ Q: J% p. K) _! r4 m7 c ServerName :服务器名称,意义同上 / b+ g H4 S# ?% b
ZoneName:
8 H2 o+ t# i4 [& a 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
. ], s6 v \! C4 D; m" W' l+ W F Property:
; [* J$ X/ j/ A/ l( n; G 这个参数是属性。这里所说的属性有:
: G* e3 G* V0 s; V v 与服务器有关的属性:例如:
! N7 D6 y, b I+ a B3 k. N/EnableRegistryBoot: u9 T6 t4 N# F' H5 A: O& f
/RpcProtocol+ s6 \: Z. E& K! U9 {% {. `
/LogLevel
4 o8 i: | m7 n( G) z! X1 ]( i/EventlogLevel 等等 (限于篇幅未能全部列出)$ ]0 k: l7 e* {- J" h
与Zone 有关的属性,例如:
/ P. }. ~0 m' X% B p+ J /SecureSecondaries' O. i* m* [' K4 V: o* D7 c
/AllowUpdate3 M, D' a7 o! g f2 }- v
/Aging% G9 J* o& N, E- Y9 X
/RefreshInterval Value1 Z+ o/ @( @7 V2 E% l: }
/NoRefreshInterval Value- P8 h6 j# T1 s0 ^+ U2 b
属性值:/ m' T5 l7 z: j( W$ ?4 h! W
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
I: X/ S2 L) L; U' H0 i: ^从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
" g4 k5 E# ?$ B; n* k2 v 命令: /Statistics& a$ G3 x6 Q/ C' d8 I' W5 M# P
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
0 _0 ?4 f2 N9 [, P6 _% Q 用法:% v% w2 {) ^& m: Z6 R( n$ V
dnscmd ServerName /Statistics [Filter|/Clear]
5 S; x2 r$ M( g: n2 U 参数:: p# U6 k- ]/ U
ServerName 9 ~( j( d5 {; U0 `9 S
服务器名称,含义同上。
$ ^/ ?) Q+ l2 M7 ]1 T7 ~7 j5 G可选参数介绍:3 T. p0 u6 E8 Y( s7 a% O, A# a
共有两个参数,每次只能使用其中的一个。) F* v$ j ]1 n7 y/ o4 R
1.过滤(Filter)
) g9 @) b! p1 R6 L5 a& U 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
0 c3 ]) k7 f7 t, s可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
3 f4 H* s! P3 a2 \1 H* z, E 00000001 -- Time- S7 v. n( t* m
00000002 -- Query
& e- L" i: e+ A7 P. n 00000004 -- Query2
5 G" ?2 I/ t9 m: U) c, G 00000008 -- Recurse
& }3 `0 w2 i7 D5 q% N' h" W 00000010 -- Master H! ]8 Q1 d; s- H' O( P
00000020 -- Secondary
1 ?. J, B$ z' _, w' _* { 00000040 -- Wins3 ^0 `5 V, h2 W0 G8 {: S8 O
00000100 -- Update
/ F# k7 H. x$ r$ o8 N0 T 00000200 -- SkwanSec
! @- W) c' k3 d4 B( l( x 00000400 -- Ds7 t) J% W, t+ b, J
00010000 -- Memory
6 }# v" N. T6 }7 |8 [. q 00100000 -- PacketMem6 U) ^- A3 x' c4 a+ `5 B
00040000 -- Dbase
2 ]! }1 ~5 ~/ B" j; k: x 00080000 -- Records1 }5 I4 Z; y! f4 S( `
00200000 -- NbstatMem
$ E* u: r) s2 Y/ G 2.清除 /Clear
8 ~9 |4 k% |7 I) z4 T' i1 [2 o 这个参数用来清除统计信息。
9 f$ q2 r8 D4 Q2 }, m' G. y 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
. R% X/ S) J' b8 Y1 m; N- B; h' ]; b
, U0 D5 W* Z2 x4 e: D) T! |- v6 `. q W) [, I& D) o" q8 A# [
|