本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
9 G8 T/ j3 [4 y e: G 命令: /Info - c0 m3 L& j, m6 P/ D
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
! N2 o1 K& e4 Q# P5 e# P- T 用法:0 o5 i. O+ O# v9 p0 }$ T. [4 o5 D
dnscmd ServerName /Info [Property] # t% f. ~9 x' z. h: o% p: R; }9 s
参数:
8 c: B$ g2 U* ? `' H" B ServerName & x' H* {* ?8 v! Y* d
服务器名称在上一篇中已经介绍过,此处省略。 6 u# D0 f# v1 h+ c" A) J
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。7 h6 X9 m, l) [: u
下面是该命令使用的一个比较完整的例子:
. ]2 g3 `0 G- c- f 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
, y, X) n0 l' S3 Kdnscmd 172.16.12.1 /info 只使用命令而不使用参数% E8 q& j' w; P8 J; o3 p, `2 x7 w
输出的信息:2 J' d. ]& s7 `/ r$ k: J1 S' g
DNS Server 172.16.12.1 Information:1 e0 R. C) n" P8 A
C:\>dnscmd 172.16.12.1 /info
/ C5 b0 r4 E# b2 I3 V% j5 m0 CQuery result: 查询结果+ ^5 ^' g/ U0 G. k) |# T8 n* k4 P
Server info: 服务器信息
) Z0 ~- L5 A- n7 _1 C' F ptr = 00074718 端口
, c/ A7 H$ y: x8 T server name = myserver.microsoft.com 服务器名称2 G8 e$ l; ]2 O! P6 e: X! O" K
version = C2000005 版本
* g7 M, C) h- S4 @ DS container = c DS“容器”- Q$ _$ H9 S, x$ q* z {; J. \# O
Configuration: 配置信息 这些信息的含义请参考有关资料$ G- [5 M0 `6 y3 O8 F- h/ Z
dwLogLevel = 00000000" r" r: B: r- Z& t9 B& \
dwDebugLevel = 00000000$ s$ \. v% b% H. M3 b8 {/ ~5 l5 Q, A% u
dwRpcProtocol = FFFFFFFF$ ]& H' `% T& S1 o8 @- z8 y
dwNameCheckFlag = 00000002# t. R$ A; F ]$ y9 a! s1 _
cAddressAnswerLimit = 08 R+ B# n* w' i5 Y3 z6 A
dwRecursionRetry = 3
( u R7 l/ Z T* y5 o2 g% K3 N B dwRecursionTimeout = 15
5 A. k0 e* x9 }% m, n2 q: R. B dwDsPollingInterval = 300% b C# I, B5 T$ K7 `( v8 j8 q
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
! v" v9 V; }9 Y) D7 R0 GfBootMethod = 3 ! I4 P/ |: `7 v1 |% h& v
fAdminConfigured = 1
$ t1 w/ { d+ q; _1 f, l$ ffAllowUpdate = 1
; j5 [; }' f8 bfDsAvailable = 1
* I# [7 `! O! B' `9 PfAutoReverseZones = 1 7 S: d0 \% X* i. T0 ~
fAutoCacheUpdate = 0
6 E: M; C. e( _, Q, ffSlave = 0
# A2 N; G/ E& T0 ?fNoRecursion = 0 4 s" F1 @/ J6 v6 C6 L- Y
fRoundRobin = 1 * l" U) z0 O% ^) U2 r6 a
fLocalNetPriority = 1 : ?8 ?) `% s; @. i
fStrictFileParsing = 0
; @3 F% @9 |& Y. @* `fLooseWildcarding = 0
2 r* M' b! Z- Q% x. L( vfBindSecondaries = 1
- R3 V# e, _& P5 |# x! pfWriteAuthorityNs = 0
; D) o* A, s! t6 J0 F6 x# uAging Configuration:
, ^" E) O6 @9 s9 GScavengingInterval = 0 # w: V+ m0 N: y9 k5 Q
DefaultAgingState = 0 , M% A: g( C/ o$ Q* g
DefaultRefreshInterval = 168 ( ]/ ]* v4 R5 ~8 ~8 s
DefaultNoRefreshInterval = 168
4 a3 F1 z- w! F* K ServerAddresses:
% U+ x, J( r' M. G Addr Count = 1* E! P. p% r& }! d& n# x
Addr[0] => 172.16.12.1) v. W+ r6 c; S, ~! h& c& E
ListenAddresses:
" a) K! Y/ H( q, j; h1 Y/ r6 T NULL IP Array.7 u/ t9 X* Q2 q! A7 u7 {
Forwarders:
O3 M( D7 P9 y0 ^/ }1 ~3 I( t Addr Count = 1' e% O6 ^8 o( j) F. V
Addr[0] => 172.16.4.3
8 P! z9 x ^& N; @( k o& i2 J forward timeout = 5
$ d) @% F3 w2 [" A. H$ w! B3 A slave = 0
- L6 [( Z' l8 q" Y9 ~Command completed successfully.命令顺利执行完毕 ! d% }% P4 q' I* ^9 u1 q4 `. j( R4 v( L
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
' g5 l$ Z7 @" t1 F( q 命令:/Config
) s: |: _/ w: W 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。/ j( f9 {. C$ r5 a. w4 F0 ^% }
$ [+ ?( }4 R$ p% v5 S3 i2 g 用法: d3 _! k* k: i1 {/ p5 o
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
& U5 ^" [+ u# o 参数
3 V& O* @1 p8 A/ \' N `$ E ServerName :服务器名称,意义同上 ) s) c* N2 G. r4 D( e
ZoneName:
3 Y7 Z. Y% \+ |' ?! q9 l 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
8 m X4 u8 K m* V Property:
4 W$ X( N4 j' f+ ` 这个参数是属性。这里所说的属性有:8 X# x& Z: l! {& D$ s
与服务器有关的属性:例如:1 ?% x, ?! o0 X
/EnableRegistryBoot
5 D5 Y+ H6 {% ?/RpcProtocol
+ T W1 E3 C* ]( j9 ?8 k5 k/LogLevel
F1 a( J# Y& d, ]4 I" X$ W/EventlogLevel 等等 (限于篇幅未能全部列出)
: V" e- ?5 ~. ?% M与Zone 有关的属性,例如:+ k: E: s" k# z2 ^7 I' G
/SecureSecondaries3 ?0 O* c9 V2 p5 e& G8 C2 I
/AllowUpdate
3 L8 C) x" B* A2 W0 ? /Aging
" n+ S; D: \# ] /RefreshInterval Value& b8 f+ W7 J, `# ^; {/ u
/NoRefreshInterval Value9 r% R! W- ?6 {8 J
属性值:% { ~( v' I e5 Q' B
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。' Q+ j5 K( u( R9 z! w) @
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
7 A! _/ i8 L# G1 p1 o2 E$ Z, J 命令: /Statistics# [1 l( y: `; g M" S
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。% e+ t' y+ ` `) u& b! G
用法:
3 u4 J7 l- V4 Y s* n; N; [# v dnscmd ServerName /Statistics [Filter|/Clear]
# S+ b6 p4 ], Z9 X4 e/ E) N: n 参数:: ~8 `) {) M: B7 _" h/ J5 J G
ServerName * `' Q ?$ [+ d& X) t
服务器名称,含义同上。
+ o% Q, I$ V; M- s# ?可选参数介绍:1 x9 f+ I& _" R, R6 Q; K
共有两个参数,每次只能使用其中的一个。+ J- N% Q$ j7 x) f3 \3 w: B
1.过滤(Filter)5 {& r8 D2 o5 m- m# P0 N2 z
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
( R& u c- p; [- U {3 I可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 4 ]+ l8 D# Y4 h* i% N* I
00000001 -- Time9 Y4 n+ M ], ` `
00000002 -- Query3 C" ^( K, w/ |- e- K
00000004 -- Query2$ b1 U+ K& S- Q2 S) G4 V
00000008 -- Recurse
) U1 \4 Q: d, ~ R: p& S D 00000010 -- Master2 `4 E+ N$ g( z$ e* _
00000020 -- Secondary
$ L6 |# V- b3 {2 f. _6 ?+ L 00000040 -- Wins
6 v0 D4 t6 Q3 |7 X2 c1 E3 | 00000100 -- Update; L6 G7 K, p) m* V: S0 _, R
00000200 -- SkwanSec
) M; L, W) h+ m# _; d: S/ o/ N 00000400 -- Ds
$ _- ?: M6 F+ h/ u2 f 00010000 -- Memory
. h+ A* {0 |; j ^ T" ] 00100000 -- PacketMem% x. c! A E$ `; k7 p# {
00040000 -- Dbase
3 O5 w. @- O3 o+ N1 G 00080000 -- Records
- ?8 V; {( O& ?/ e9 ? 00200000 -- NbstatMem
. O0 q4 L: K/ U% M 2.清除 /Clear
7 h* O4 r6 {- M' E4 i& ? 这个参数用来清除统计信息。# ?! s% h. q) f9 A' ]& b" Z
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
8 d2 l; G3 }2 s5 q# m, L
0 ^! f9 d9 H3 r I, U. r
/ j& {7 N# y7 g& L, Y' n" A& `& V% E6 y' S9 j0 O
|