本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
/ W5 I6 g4 O, a7 t: E3 o7 a5 G: i( ] 命令: /Info
0 q9 ?2 R& s4 R [6 c* U 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
) S1 v% z3 u5 @! [! d9 T ~' D 用法:
" m. T& ]2 B/ h7 O, b6 U dnscmd ServerName /Info [Property] 6 B" s; U8 i/ S( c$ D
参数:
9 O. Q. R# H( j4 X' R ServerName
* ~3 p+ Y a- ]: |- X 服务器名称在上一篇中已经介绍过,此处省略。 5 I) G+ Z& J- |3 O5 G" K- @
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
+ ~5 X- O. R1 N ?/ g2 I 下面是该命令使用的一个比较完整的例子:+ i6 ]) m2 m- e" l* J
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:& {: H4 k9 C: Z4 K7 K( S/ J4 _
dnscmd 172.16.12.1 /info 只使用命令而不使用参数5 L$ x6 |- i. z/ O9 R2 h
输出的信息:
d, k1 r3 E w! N0 [$ ZDNS Server 172.16.12.1 Information:' i0 p9 }; U' N; L
C:\>dnscmd 172.16.12.1 /info6 S* y- N7 E3 ?+ l
Query result: 查询结果
1 Q- }1 f9 S% C2 v/ X% R7 WServer info: 服务器信息
3 {, H# K4 z) i+ b$ n6 r: V ptr = 00074718 端口& l2 c% `) O0 {0 l
server name = myserver.microsoft.com 服务器名称
: p- t+ x2 C8 V; p0 d& H( } version = C2000005 版本
1 A4 Y, G: _, a# g DS container = c DS“容器”
% q3 n/ v3 ]% v& U Configuration: 配置信息 这些信息的含义请参考有关资料 B4 [- s2 {& D7 O8 s& R$ D% g5 t
dwLogLevel = 00000000& l( z1 q- a) t9 M c6 K1 {
dwDebugLevel = 00000000/ |$ e& F9 S" C3 Z- Z8 {1 k1 W4 q
dwRpcProtocol = FFFFFFFF
. u5 P) Y! d4 n& g2 x dwNameCheckFlag = 000000025 U+ Q7 s1 a) x8 Q& p, a
cAddressAnswerLimit = 0
. W+ ~! h- z- H$ K dwRecursionRetry = 3
% F9 b2 x; C+ @3 e% u2 q- m" A dwRecursionTimeout = 15
3 c( F5 P2 w: c, x. N$ L7 ?" ^, q dwDsPollingInterval = 300& G- N4 `. |* B4 f# s7 m
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
+ ~2 K- ]: S0 \* {9 FfBootMethod = 3
( V# W2 D# Q( U$ ?3 _& DfAdminConfigured = 1 % |1 r9 z, m" w0 @: W9 e5 v8 ~4 g6 N! K
fAllowUpdate = 1
, x* t) |+ V: Z, d! ?fDsAvailable = 1
, \& J0 t3 Y/ _6 s* rfAutoReverseZones = 1 ' Z) v+ j# Q9 y7 \! i
fAutoCacheUpdate = 0
" q5 ^* ]9 O1 P) O5 k+ r3 KfSlave = 0 % R( e4 l4 M8 V% |
fNoRecursion = 0
2 h! g F3 Q1 @2 ]& E& RfRoundRobin = 1
2 I" K0 x/ M5 ?) Q. H* E5 b5 EfLocalNetPriority = 1
! ^* [5 e! b- W: D3 gfStrictFileParsing = 0 , B5 l9 V& c3 }8 P
fLooseWildcarding = 0
9 p" M# m7 S! cfBindSecondaries = 1
) ^6 Z) [9 V% K# p5 b3 WfWriteAuthorityNs = 0
" O/ @! |+ Q* }- \! g' J" f* d/ y3 `Aging Configuration: 7 v9 Z' j; l/ e& R
ScavengingInterval = 0 ' X( ]1 g3 f7 r. b/ M- s1 x: ~
DefaultAgingState = 0 3 p) K$ f1 l6 {5 Y/ n
DefaultRefreshInterval = 168
- I% l* P- w) t' JDefaultNoRefreshInterval = 168
& g4 q) M f5 N8 ] ServerAddresses:
" o6 U/ t/ o* N Addr Count = 1/ Y. _# ^- y: ^/ T
Addr[0] => 172.16.12.1
+ y( V8 T4 W; d0 o, l; D/ R ListenAddresses:7 P2 @# i$ |- F) V- ~0 d
NULL IP Array.4 Y- w0 V2 F4 N
Forwarders:2 R: \% u) ?: r9 ~, s) f, j, e
Addr Count = 1" Q( s/ k1 k0 S4 B% {
Addr[0] => 172.16.4.3* ?1 U* B8 }: K' P- l1 B5 C3 E3 V
forward timeout = 5+ L1 O% Y. u1 H; I2 n1 S# c
slave = 0
) m) L! R) @: W2 X+ {. Q- J0 iCommand completed successfully.命令顺利执行完毕
; U4 R& M3 u5 u 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
; E' `. }2 g! ], ?3 c" [+ }8 G" b 命令:/Config
* {: A6 u! b L" ]8 J$ P 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。; B6 Y! W; t( L, P3 x
: D; T, n8 N- a 用法:( j, V6 ]! u3 W
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value$ ~7 t M0 O. n( U. q
参数
7 n- d* w* r3 D* }; O7 ` ServerName :服务器名称,意义同上 4 v( ?6 Y, \1 W% h6 }. I
ZoneName:% Z1 [9 F/ ^2 y/ F- Q* y! ^
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 0 R6 n* f$ N H
Property: " W7 A/ b( ~7 M/ ]6 t6 d
这个参数是属性。这里所说的属性有:0 H9 ^( l7 @9 }& b
与服务器有关的属性:例如:
1 k4 x& m7 k+ ~6 Y4 w3 X+ D- [/EnableRegistryBoot
6 O' w+ I! k$ Z! Z/RpcProtocol
* Z+ C" u* z0 Y/LogLevel# f' ]% P7 p5 v- @
/EventlogLevel 等等 (限于篇幅未能全部列出)% O1 }& I0 \7 N: }+ z
与Zone 有关的属性,例如:
) X/ e; t9 Z( b /SecureSecondaries
+ o4 A9 ?- j. l$ a. m) j /AllowUpdate
( H# b- v5 B2 ~/ h! c" q* |% g /Aging! ?) e4 H9 j% C3 ~$ V, ^
/RefreshInterval Value" X" v1 B% V9 b( ?/ T& c4 S
/NoRefreshInterval Value
# i$ a' i! h1 r 属性值:: `7 @9 ~4 V! E' b" n
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
. E4 j2 t7 w8 O, @5 v' b从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。# U/ ]3 z3 s M9 ~
命令: /Statistics+ R( N7 U' O" _% t) E1 K+ o) a7 I- _
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
& R- u# a D" T# t 用法:
* d" L4 ^& _# K1 R. Z( O- h8 n K dnscmd ServerName /Statistics [Filter|/Clear]* g: L$ U% P0 [. c! S
参数:
. z+ p' c9 Z8 v9 l$ ~. kServerName : H1 I& W1 P3 s
服务器名称,含义同上。7 u& ?+ q+ B4 d% n: R/ v; u& z
可选参数介绍:) s- C' G+ N. \' S, n6 Z& s( M
共有两个参数,每次只能使用其中的一个。
( \' V% m. b" k 1.过滤(Filter)
: J i1 n# m- J8 ~7 F; U) s 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。; S6 r8 g) s. y# f) b
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: $ B0 C4 X, }8 w3 z8 u3 _" s
00000001 -- Time
, m9 i6 p# n& Q/ G 00000002 -- Query. ~/ ^3 Y7 c3 A, l0 {9 w! c H
00000004 -- Query2& k. E3 q/ l$ k% b* h+ \. T& _$ ~7 I
00000008 -- Recurse
9 \# ^2 j7 y% Z) @- w 00000010 -- Master
/ ^# \2 M$ N3 L: l9 s$ P 00000020 -- Secondary. }0 }% j/ A' H- x4 H' n
00000040 -- Wins
8 R1 f+ Y0 X( w/ T' v- j 00000100 -- Update
6 V# u. C* M9 `2 Y# A# {) j 00000200 -- SkwanSec2 h0 J0 \/ q! a
00000400 -- Ds
6 L2 X8 Z/ \: g* M 00010000 -- Memory
3 m' J |, W) M/ h! h7 V9 { 00100000 -- PacketMem
f7 p6 L+ t* @; L: g3 ]9 O 00040000 -- Dbase
8 z4 n/ Y" l( T5 Z 00080000 -- Records2 P* E$ |& f; s; N1 E
00200000 -- NbstatMem
" g- { p8 M( P" q 2.清除 /Clear
; l. Z1 P8 U! p+ F7 j 这个参数用来清除统计信息。& ]1 c6 t6 u* U7 M& Q( c. R
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
+ t k) H }& b. J0 N1 \9 D5 L* z; c4 M7 g# j# ?0 T( b
1 f+ f* i6 m, m5 N" _! l$ C
& C, f! t4 y8 E7 L7 J7 S1 ~+ U
|