本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
' ~' `& @" o( w0 I; R 命令: /Info # f, G% f6 Q) O
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
. X: f& T8 Z- r! A j" w8 i4 ] 用法:
1 V+ X+ X1 e" }+ | dnscmd ServerName /Info [Property]
2 ~. f- j- @9 R% D1 V6 P 参数:. ^4 t$ ]; c/ D4 F5 j% j
ServerName ) l/ k% Z1 T# D$ m2 b
服务器名称在上一篇中已经介绍过,此处省略。 # U$ X+ c1 r) L% K' `7 m
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
0 v. v! Z8 B5 V. `# W 下面是该命令使用的一个比较完整的例子: t& r5 K) i5 N. s) y
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
$ W$ ]* L6 N4 l! C' Xdnscmd 172.16.12.1 /info 只使用命令而不使用参数+ E. n: v" j. W* m; j1 G# n$ l
输出的信息:" y( _ p% i- }; S" |4 Y: v G
DNS Server 172.16.12.1 Information:' X* _2 D5 z6 ^" p+ Z
C:\>dnscmd 172.16.12.1 /info# k; W, F7 ?" K: c( P
Query result: 查询结果
! B; e" a$ T) }1 G2 ?Server info: 服务器信息( e# y+ c) f, Q8 @/ L3 q6 g- M
ptr = 00074718 端口
& G1 R" J* @4 f ~0 h D3 O, k. R server name = myserver.microsoft.com 服务器名称
+ K _) E4 |) Z7 b/ Q0 a K version = C2000005 版本' |4 m& |/ S: f: m( c
DS container = c DS“容器”
5 F' W ?1 @6 j# _4 L6 ? Configuration: 配置信息 这些信息的含义请参考有关资料6 o) S! s6 T# p! T7 Z) x
dwLogLevel = 00000000+ F, c0 e( k- H
dwDebugLevel = 000000004 j5 i8 M7 Z' P8 J1 E( K' Z
dwRpcProtocol = FFFFFFFF+ G3 @: ~3 Q f9 V! L2 @
dwNameCheckFlag = 000000023 C- J2 z- d/ U0 I+ Z
cAddressAnswerLimit = 0: ^$ b$ F! _% t4 s
dwRecursionRetry = 3
& o) b; t Y' K3 c# T dwRecursionTimeout = 15/ u4 d$ ^. P4 H
dwDsPollingInterval = 300, j" m* P0 l& {4 w7 |" O1 ]
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料: W4 f0 [0 C1 ~" i E$ X8 l1 M
fBootMethod = 3 ; b6 e: t N, H, g4 \% h# Y
fAdminConfigured = 1 2 K; [/ ~& {. C3 J
fAllowUpdate = 1
7 M4 l: Y) W3 e* u6 g* I# jfDsAvailable = 1 0 ~% @; f/ ~, X1 {& z. w
fAutoReverseZones = 1
0 T0 {9 C- V3 F8 k: ?fAutoCacheUpdate = 0
* g+ s1 d% Y. y/ V6 z3 `fSlave = 0
/ R- n* V& w4 ?7 _9 U! C0 R2 DfNoRecursion = 0 1 P4 e+ l+ m( b9 G
fRoundRobin = 1
3 z$ T! D% F/ }% dfLocalNetPriority = 1 5 }) P' n4 c1 _0 m, _
fStrictFileParsing = 0
" B) ]; }0 q( [- d1 IfLooseWildcarding = 0
' n: L2 |! e8 c& KfBindSecondaries = 1 * Q# m) \# ~9 {
fWriteAuthorityNs = 0 3 Q. e9 B/ S! P$ |' ]
Aging Configuration:
' n! L# t( E* d; L) wScavengingInterval = 0 ! W! a, \6 E8 W( M4 g
DefaultAgingState = 0 3 @9 j, ^/ i. o8 W
DefaultRefreshInterval = 168
& p5 @: C4 P2 A2 l7 `DefaultNoRefreshInterval = 168
9 m1 k8 t) v" Z: { ServerAddresses:
& a6 O6 y; F. P# {2 q# } Addr Count = 1# v$ h6 R* j) i) [. ?
Addr[0] => 172.16.12.15 e. N; K8 S+ b4 E. F
ListenAddresses:4 ~% C0 q% a. E) ~
NULL IP Array.
$ d9 G. ], F' Q% X; {4 s Forwarders:
" k& X7 f. ^) _ Addr Count = 18 ~' ]' l! }4 p/ N: j/ R0 a) C
Addr[0] => 172.16.4.3
6 h9 R" g# Q$ O, N$ z: P forward timeout = 5- G' |& m$ R3 N- u0 X' O
slave = 06 r6 n1 l6 `6 v1 q+ `
Command completed successfully.命令顺利执行完毕
! E G+ _" @3 m0 g. u 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 8 R1 {. y" u3 G$ o- T
命令:/Config2 e6 b1 d* Q* C+ a. V
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。8 d0 L0 E1 [- n4 I% y
0 b3 C. M& T. x' ~ 用法:2 {, {$ u' D& ?3 B1 D
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* ^; _) \- m. O( x7 D+ | 参数. A& `9 ]" q2 N. ~% v( ?* P5 i
ServerName :服务器名称,意义同上
' g& S9 b; G" m7 M4 i" y K# c ZoneName:) {% b* e( h. H# @4 d0 U5 @
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ! p; ]; M" I; @; Y5 b: {
Property:
! D3 X1 I- _- X( P- ^ 这个参数是属性。这里所说的属性有:
6 n: h( Z5 {: f o! P 与服务器有关的属性:例如:
% S& \# i7 z& z7 q1 @/ _/EnableRegistryBoot# ~0 k' ?! K9 B- L, [" H* E* w) u
/RpcProtocol
6 K+ h" Q, f3 i; V! [, q/LogLevel* d' y- ^" R0 i( s5 Y! ~% t, S$ M
/EventlogLevel 等等 (限于篇幅未能全部列出)/ e" v8 j) z; i6 o5 B$ F$ L- b
与Zone 有关的属性,例如:6 P% d- k) K( V2 }+ O
/SecureSecondaries
; I& a6 ?* m4 T- {: M /AllowUpdate" b8 K4 G9 z3 X3 ]; u( Q( P; k
/Aging
+ J6 u+ ^; p8 G% t4 X /RefreshInterval Value
, T ~) G/ }& p* F' E( \ /NoRefreshInterval Value& r7 G+ a+ ] M* U# l( R n
属性值:1 I" o- Y2 j$ }
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
) I" C* o* Y4 r: Z5 V" c+ s从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
. n& ~' ~# H* b5 N5 `; \7 _ 命令: /Statistics
+ _5 H9 {' o% ?+ ^' O 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
& Q: v9 Q7 Z. f6 C 用法:* W; C! f8 A7 i- i( t+ Y5 C
dnscmd ServerName /Statistics [Filter|/Clear]- D* W' S) d. [
参数:4 f& T% H: l. c' S
ServerName 9 U4 B* R# U& H' m% A! O, |
服务器名称,含义同上。# W9 ]& Q" T# e
可选参数介绍:
6 X, w, G; ?8 W9 m4 A$ l共有两个参数,每次只能使用其中的一个。! S3 ^2 o3 V/ B9 T+ Z5 C
1.过滤(Filter); w/ |0 j/ k- {; @5 ^+ M- v
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
0 K9 r s% l& ?7 n0 ~; {可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: & U/ S, s. x- b$ }3 J
00000001 -- Time7 F. V( W* q3 R2 z& e1 D1 i* S
00000002 -- Query+ D0 o5 y6 [6 \ }" j1 c+ a
00000004 -- Query2
! B" X$ x+ L, A 00000008 -- Recurse+ ]; g$ Z; `9 w d
00000010 -- Master
* |$ u! Y# X( f: K! r q0 ]0 W& X 00000020 -- Secondary9 Z, |" i6 o+ ?2 U3 l/ r- k o
00000040 -- Wins
1 S$ Z/ O( q6 C. j* f+ P' i 00000100 -- Update
; ]( @9 r0 z$ t; N2 ^ 00000200 -- SkwanSec
7 t+ \5 b* f- P4 {( {3 a0 |' m 00000400 -- Ds6 S/ X: T& C. G6 a; e% M* n$ |
00010000 -- Memory# @: O5 ?8 X$ c9 u9 E/ U
00100000 -- PacketMem
, l- A$ r) ~' X3 d* P- O 00040000 -- Dbase
& J- e; {" K9 T5 K, [$ V9 p' l+ G9 X 00080000 -- Records9 |0 b* M; y7 f' s+ _( F' W" Q
00200000 -- NbstatMem# h: }7 G4 m# ]0 |4 a4 E0 }& C
2.清除 /Clear * w( J( r4 T, A2 F8 f7 ]" Y3 e' v
这个参数用来清除统计信息。
1 ~1 r4 h, f7 v) _; I) z( S7 d7 E0 E 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
+ ~% ~& M2 E4 H/ v a0 ^' \3 { ^* r& j0 t+ M c- Y: n- J" R3 k
) H! ?. H6 L) h# S6 k1 ~
( ~' t/ f7 r% S: S; F! m0 e% F |