本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
- e6 k* G6 v* F! z0 p 命令: /Info . i; n" Y. c) f q2 Y6 c: ]( a
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
/ A9 E4 w5 x% L) T( ?2 F 用法:2 A" N2 K: n+ m: w* J7 x
dnscmd ServerName /Info [Property]
6 ~& m b. |' [8 r; v8 @6 c" q 参数:# u* l, g7 X3 z+ w
ServerName
0 {( L: d& D3 \, j/ Z ] 服务器名称在上一篇中已经介绍过,此处省略。 ; b$ Z) S( ~) D! |/ f
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。' K2 W) N. k) x0 V' U1 Q4 R
下面是该命令使用的一个比较完整的例子:/ q! p" |5 ]6 Q9 _% z/ D# q- L
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
6 S4 s, }: X( D+ ~: ndnscmd 172.16.12.1 /info 只使用命令而不使用参数, p! r; X- E1 A3 ^9 N( c
输出的信息:
9 H$ P3 W1 D9 ~% n4 lDNS Server 172.16.12.1 Information:
. R+ A+ Z" X _C:\>dnscmd 172.16.12.1 /info
, Z, H- e7 |. p$ {( rQuery result: 查询结果) ]: c/ w5 U& T* x
Server info: 服务器信息
, C+ c6 }' w9 Q% d) v6 }# M4 R3 f ptr = 00074718 端口) f5 r" D1 C, D8 u& l9 [
server name = myserver.microsoft.com 服务器名称
5 S! p+ m' D5 Z+ K* o- e" B' ]1 x version = C2000005 版本
( P; r' X1 P/ y) V DS container = c DS“容器”
) U+ H; y2 _0 Q6 O, E Configuration: 配置信息 这些信息的含义请参考有关资料. h$ V. T* {$ d _2 w' o! N% x
dwLogLevel = 00000000
1 G5 u9 _- T8 O& k; X* `6 m, i dwDebugLevel = 00000000; V( s/ U! O1 @6 ~; }
dwRpcProtocol = FFFFFFFF
8 D2 Q; W3 x, k dwNameCheckFlag = 00000002
% q: |" y2 z2 }# ~ cAddressAnswerLimit = 0
. C3 {4 C9 m& X9 m. Z0 G dwRecursionRetry = 3 ]* y) r/ M" ]
dwRecursionTimeout = 15& d6 {7 D+ q3 g
dwDsPollingInterval = 3009 u; g9 x4 C5 Y5 B& z+ A% L
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
9 P7 j. e1 g( d' JfBootMethod = 3
5 \3 O! e$ p) C* I9 u' u, XfAdminConfigured = 1
# G. ^3 A E' @) Z# _1 T2 ~fAllowUpdate = 1
! J6 a8 V. @- K% c1 m# v! _fDsAvailable = 1
. `$ k* [4 }# F' g* e. D0 n/ J, wfAutoReverseZones = 1
) r/ t7 k. C' f, |0 @fAutoCacheUpdate = 0
; T/ ?7 |3 r% g3 mfSlave = 0
& e1 y' d/ D" p) gfNoRecursion = 0 : j/ _% }" q" O3 ?& J% m
fRoundRobin = 1
5 F0 U" T: W0 W! U( W2 o3 xfLocalNetPriority = 1
$ u9 R. _" U# mfStrictFileParsing = 0
$ j& N/ M7 X; ]0 Y2 bfLooseWildcarding = 0
' v6 f9 Q0 }. K6 @# f! e$ bfBindSecondaries = 1
3 ?+ h6 r& `1 J3 h/ ?fWriteAuthorityNs = 0 ( ^# \6 E7 S4 m8 X
Aging Configuration: 9 I t8 L0 x0 W" M
ScavengingInterval = 0 % l- S" r% y1 O7 m/ ?8 S L
DefaultAgingState = 0 ) }6 W; G- l/ C! b1 o' U
DefaultRefreshInterval = 168 $ b7 p% U" }) [' Z
DefaultNoRefreshInterval = 168 $ x g+ C8 N) N' e' m) k
ServerAddresses:
' L, v, d+ I: \2 F1 v2 W Addr Count = 1
" w* ?$ t3 j; b/ K l' _ Addr[0] => 172.16.12.1
: l. K" d0 ]3 N: y) Q, U ListenAddresses:
/ [# E% j# o0 F' n- P; K2 s" W NULL IP Array.
+ G% x5 r- W% R3 j Forwarders:
+ _2 f: b* Z/ b9 b4 b* w( D/ g Addr Count = 1# F2 C( R: p* o; V7 P2 t
Addr[0] => 172.16.4.3
1 f- B( {# C' m8 c# S forward timeout = 5
( y6 L" i% C7 @- G slave = 0
& d0 P2 Z8 F) z+ o# l$ G9 VCommand completed successfully.命令顺利执行完毕
; ^! i& b" u# h 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 : Y3 u5 r; B: S- _
命令:/Config: ^4 U. V% _6 d) a; J5 g
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。+ H/ t" c# \: g {
3 W# l d2 S4 `9 ~: S
用法:
( m% {5 G- c! x: l- K dnscmd ServerName /Config [ZoneName |..AllZones] Property Value1 f8 E9 [' I) j0 Y1 {6 K
参数/ w8 B3 B5 m, J% H# R* G
ServerName :服务器名称,意义同上 9 P) t6 q5 V) c# J9 L
ZoneName:
: C9 l- @- E' k% K 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 & {! F1 ~$ k+ S: B. l
Property:
7 G% D/ c2 D; |% C 这个参数是属性。这里所说的属性有:0 t& a+ J, W1 @; e1 `2 C
与服务器有关的属性:例如:
0 y0 [6 U& {* U/EnableRegistryBoot
$ }- U+ p; S$ y/ W/RpcProtocol- l& w, e1 J# \1 s4 t7 _
/LogLevel
- L. r* C2 }* f& }( a5 f/EventlogLevel 等等 (限于篇幅未能全部列出)
" e6 y6 s2 i8 k2 h# a( q与Zone 有关的属性,例如:
0 A# H: |8 i6 M& j& } /SecureSecondaries3 a/ ]! k0 y9 W3 W, l
/AllowUpdate
9 s( D. @& Z# w% r. F /Aging- ^+ b; ]* ?) q: S6 C& Y; k
/RefreshInterval Value l1 Q5 b! k$ T$ U) r
/NoRefreshInterval Value
& l" k$ A/ w* }* C! O# w 属性值:" A5 `" V! P! T% l) ^
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
0 N+ a; `$ x. p7 [7 m从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
: ]3 A9 f4 K9 l 命令: /Statistics
) u) u; C p- b3 o, ^ 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。; H0 [4 y* @. @- a
用法:
" F/ Z! d ^5 i* X: L dnscmd ServerName /Statistics [Filter|/Clear]
1 {4 N% c) b! R4 m7 A 参数:
, O9 u- i$ y- h) _ServerName
' H/ Y( L1 G* t1 S! Z8 Q- r$ W: ]4 ]服务器名称,含义同上。
% `$ S+ h. Z& p9 v可选参数介绍:6 l( u6 h8 I% [& e/ x& G
共有两个参数,每次只能使用其中的一个。+ ^+ D3 Q$ |. }' }0 H
1.过滤(Filter)
5 q% t1 H, D. j7 ^$ T2 }; ]6 N 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
' l, w% |9 b4 o' Y+ u( \% g可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 6 C8 {9 v0 @' a! F, f$ T$ l
00000001 -- Time3 p9 ]) I; p5 _% m$ g( }
00000002 -- Query
* b3 e( S3 j& x( i: d, y7 i 00000004 -- Query2
/ O$ ~; P7 U$ x: x 00000008 -- Recurse! e( J- I) R( u
00000010 -- Master; Y3 j$ f- I% w* L" W0 a
00000020 -- Secondary
8 G: f# N8 j8 V0 U! d 00000040 -- Wins
+ \3 D! [) W) e- c, }# N 00000100 -- Update% {! ~5 l. G8 C
00000200 -- SkwanSec
4 ?' d/ u! }7 ?: N# s, w7 \% f" W 00000400 -- Ds" u. X9 R. V6 W% I
00010000 -- Memory
2 D/ c3 n5 z! w 00100000 -- PacketMem
2 Q3 e6 K# R) ? 00040000 -- Dbase' \1 D, S* a/ K4 { h
00080000 -- Records
, z% ?# W4 ^, i! x+ l3 i) v. B 00200000 -- NbstatMem
5 y9 Q9 t$ }& [0 ~ 2.清除 /Clear
( D3 C0 X/ Z3 ~' r) f o7 o 这个参数用来清除统计信息。
7 ]* C4 a, N" q6 {$ z! p |: I) q 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。$ {' I7 e9 \6 |6 W% z: @( V. [
0 S' Z: T+ [6 i/ v- @& h" c: }
4 s. H' x- f4 O9 l! f5 }& b& P
4 w( ~7 L+ Y3 t5 @$ t
|