本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。6 q( f2 r0 G) A8 ~* i1 g) H
命令: /Info
/ O/ k% g8 e7 P8 z) Q% }; m 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
; B8 O% Y& n* L6 M7 L# Y3 m 用法:
8 { R% ~" k6 b dnscmd ServerName /Info [Property]
; n+ M; u$ k5 @' ^8 ^. K 参数:
$ s4 v, J/ @2 W' ~& @& k7 r9 a! g ServerName 1 \& {6 S9 W h7 ]; b1 J: f& D
服务器名称在上一篇中已经介绍过,此处省略。
- F+ A4 L+ D( X. Z [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
* p4 d! B& c# ?5 d 下面是该命令使用的一个比较完整的例子:
, A- I, Q8 Y/ z( \6 I 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:# M( }* F8 v& \' b% x- x# L# Q7 B8 O
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
/ T4 q- m, S2 ^$ N4 M0 X+ _& _ u输出的信息:& ?) ~0 ?% `/ z8 Y+ I
DNS Server 172.16.12.1 Information:/ G) W/ x R. k2 h9 Y! ?4 V
C:\>dnscmd 172.16.12.1 /info% ]6 h( _) ?! \$ ^" O" R% g2 a k" t
Query result: 查询结果, N( v/ n4 h3 q* X0 S
Server info: 服务器信息2 A9 C% p1 b* A/ Q
ptr = 00074718 端口
8 [! V8 u) w/ u; z% u4 d0 x server name = myserver.microsoft.com 服务器名称
* \+ x8 a4 }8 E$ W& z- D version = C2000005 版本
. H0 |2 Y6 L: ^3 Y' d$ X2 e DS container = c DS“容器”0 {: ~& t; b% w- h
Configuration: 配置信息 这些信息的含义请参考有关资料
4 e' k* R; O$ e# S+ ? dwLogLevel = 00000000& H( l2 D* I5 J/ `) W. L* J
dwDebugLevel = 00000000: M1 Y0 Z7 ]. b2 \$ x) f' C
dwRpcProtocol = FFFFFFFF3 I, _* [4 N8 g( @# v9 G- v
dwNameCheckFlag = 00000002
U5 K( |/ E. H cAddressAnswerLimit = 07 [& i& m; {4 b8 I/ r
dwRecursionRetry = 3; H( Y. P) h8 w# p, B
dwRecursionTimeout = 15
8 p% ~% J+ c/ `; ` dwDsPollingInterval = 300
- P3 G& l" h! m& K6 y8 H Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
0 {5 S, e. f9 tfBootMethod = 3 ; E* g; t# }6 K1 Z1 n& N3 W
fAdminConfigured = 1 5 G+ e+ T( f7 m/ S+ r8 b, `
fAllowUpdate = 1 6 E$ c+ H( U+ A, L2 L" f
fDsAvailable = 1
/ N. E! F7 b) cfAutoReverseZones = 1 % }7 }5 Z: J U V6 F1 N
fAutoCacheUpdate = 0
% \7 a; C4 _1 O, F2 ^+ @* T# i' qfSlave = 0
' B6 z9 w3 _9 M* G3 h2 wfNoRecursion = 0
! E5 i: B0 x) v# ]fRoundRobin = 1 " y1 W* W6 j( z2 [' {# A
fLocalNetPriority = 1
U* n( A: H' P* j" }fStrictFileParsing = 0 ! I6 I; u8 T4 ?! C2 Y
fLooseWildcarding = 0
) ]9 T7 {( |6 Y5 p3 hfBindSecondaries = 1 % w, m% N+ o! j4 C
fWriteAuthorityNs = 0
9 U+ p( w6 l) p9 w- uAging Configuration:
, }% _& I: j- G2 W! [ScavengingInterval = 0
8 S! {+ q- |2 o! y T9 p8 nDefaultAgingState = 0 + f, w+ P2 d4 }: f; _. p
DefaultRefreshInterval = 168 7 Z. j& s$ a+ h5 E0 X7 k
DefaultNoRefreshInterval = 168
1 x) n# l4 x2 R1 d) f- k, z ServerAddresses: 8 y' l' e# u; Q* k$ {6 P! i0 u! @" h! a, W
Addr Count = 1
3 F" j5 K9 ?, f! c, n4 t' f Addr[0] => 172.16.12.1
" r" C8 {% p+ \6 w1 Z4 h ListenAddresses:9 F/ q( }- M( z I( O. Y
NULL IP Array." S# [4 O" w! c. g+ a# Y
Forwarders:
0 ]# r! A8 [) u+ X8 p; Y Addr Count = 15 p; h! r, V. D9 A
Addr[0] => 172.16.4.3
6 b+ s8 w: W* Q forward timeout = 5
& q' M3 A8 X# } slave = 04 J4 l6 Q" i9 E5 I) G S
Command completed successfully.命令顺利执行完毕 . d: |: F! ?, P1 p z2 k
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
# E- U5 g6 I" M' z$ n 命令:/Config9 K6 L6 ?6 t0 |# D4 b" y
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。( g% g6 R" O* ]& j$ I
, |- U8 Z S% n* z
用法:6 P- x" N1 {4 ?5 j* W) s1 G
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value: S* h- r+ ^$ b
参数- }' ^, W" ~# q# Y
ServerName :服务器名称,意义同上 " P0 Y$ z' J5 u/ y( B, I
ZoneName:8 q3 s6 [1 E5 F
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 7 I' n( k# I1 ]8 N; C: D+ t
Property:
2 @# b5 u8 E$ u3 t1 a3 w _ 这个参数是属性。这里所说的属性有:# P1 O! K# R! Y* V. L" c9 V
与服务器有关的属性:例如:
+ X: ~% H& |* u! a4 w9 H9 U/EnableRegistryBoot
. _8 [ r1 m+ C$ O% l/RpcProtocol
& d% S6 f. x- y6 f b) v/LogLevel+ w7 Q7 r9 h$ t1 R1 S9 _
/EventlogLevel 等等 (限于篇幅未能全部列出)& q9 ]1 X+ P/ t, \, {% I
与Zone 有关的属性,例如:
& P2 N8 u7 Z B$ w6 Z /SecureSecondaries
6 S1 P8 B2 M5 y$ [ /AllowUpdate m% R. C& y, M
/Aging
) R5 M/ O) D) A+ w& [; q /RefreshInterval Value
^1 b! J& b0 y# S* ]7 U- @ /NoRefreshInterval Value9 D' R- c8 B9 z5 u0 P- l" E4 K- }
属性值:
+ ?# |* y) F$ B 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
2 {8 K+ {0 r9 y$ _: u4 g4 j1 [) v1 \从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。( B3 n+ V6 z e2 f
命令: /Statistics
: X8 T4 t5 Z) e0 y 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。" g, f8 f7 v" x
用法:2 d) q' f, C, r1 M" |
dnscmd ServerName /Statistics [Filter|/Clear]3 T* r4 {8 j8 y7 z. V, t
参数:! j6 }; _+ J6 P
ServerName
- @* }$ `( b. X0 B服务器名称,含义同上。
2 m* Q( j( P3 k# N* c( t2 B可选参数介绍:
- F3 a' W/ J9 a' s4 R1 E. A1 x/ Q共有两个参数,每次只能使用其中的一个。
9 l- c9 m* ^; x0 s/ D5 l 1.过滤(Filter)% }8 I" X& X- l }+ M) O/ t( ?
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
! B% s" X4 Q: ^% v" L: b4 S可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 7 B3 p% D+ z8 U( B: |
00000001 -- Time# F: \ r! r# E! Z5 j( o- a4 x8 z0 O
00000002 -- Query
- }" a5 F& C* H4 k. ?5 s7 K- [2 T 00000004 -- Query2# ?& O) y% g! g3 h8 Y; n7 x' Z
00000008 -- Recurse n) o# ~+ B! d7 n9 [/ _
00000010 -- Master1 R0 h4 O) a: K4 I
00000020 -- Secondary/ ?9 E, }7 J3 l$ i" k" H1 z) H4 r
00000040 -- Wins8 j2 b6 K/ p9 ?0 h/ l9 u2 P( e
00000100 -- Update. v+ D# Y) G. s2 n6 l* I p; g5 X
00000200 -- SkwanSec
( O! ]! }" \) \2 k 00000400 -- Ds
7 C+ Y; M j7 @# T 00010000 -- Memory
. V/ z6 q1 D7 F n- ~8 ^" _6 @! j 00100000 -- PacketMem
7 S1 }# F; g( ]1 p; G0 y& _7 \ 00040000 -- Dbase
% n; W. ?0 w; [6 |, l; u8 M; Y0 G 00080000 -- Records
' T' R3 e! c* R6 Z 00200000 -- NbstatMem/ A5 O& c6 _" e9 ?. K" s' R8 |6 ]
2.清除 /Clear 5 F- B" H& w, k
这个参数用来清除统计信息。
2 ]4 e9 E8 F, C$ G, U 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。% f% S2 W+ j3 n6 y: |3 ]0 j# ?
5 r2 ?( ^" W9 u/ r, P- M 7 U7 m1 [" i: F4 K( r5 y# s
& w. \. u5 q ]* \8 }( P. Y1 C |