本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
) t( W+ x& p" Y# ]) _, h% i' i 命令: /Info
6 H; M( i( D9 b2 i" ^' ? 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。) i4 X. g$ o' z4 \7 A
用法:9 b- t8 \, j2 s8 u( n
dnscmd ServerName /Info [Property] 6 ], ?3 n! z& t- B: ]8 x! J1 {% n
参数:
* p! v- V' ^4 w: Y ServerName
- V. O e% P$ v 服务器名称在上一篇中已经介绍过,此处省略。
% q0 `( W) d& p [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
; o4 d! f8 ~. V: c6 f7 ]( ]* } 下面是该命令使用的一个比较完整的例子:
5 S% ` P& t+ v( l0 e$ Q$ P) w# L 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:2 _7 v0 v: ]# K; N
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
9 A; u" V7 G+ ?/ c* i输出的信息:
* d& Q4 l1 h; z8 E. l" QDNS Server 172.16.12.1 Information:
1 C& m. R* \/ H1 Z1 V; P! D6 cC:\>dnscmd 172.16.12.1 /info
8 X2 `& P, D- a8 u v$ U1 |0 [* h4 ]% MQuery result: 查询结果
* X/ S2 G, `3 m% f' ^Server info: 服务器信息
0 N7 H4 c V7 a2 H* X ptr = 00074718 端口
! t3 R0 b( o, }" j4 }$ n server name = myserver.microsoft.com 服务器名称
0 l& f3 i0 V( e0 Q! R( X; j+ m9 X7 [ version = C2000005 版本0 [2 l& k, E! Q1 v
DS container = c DS“容器”7 m8 J1 P) v. B& X6 `& y# h
Configuration: 配置信息 这些信息的含义请参考有关资料" |* W* ^9 I1 L1 ~
dwLogLevel = 00000000; ~6 |/ a- W5 s- }) p
dwDebugLevel = 000000001 k0 N+ b: T9 I) B
dwRpcProtocol = FFFFFFFF6 E( g- Z! I5 d' F ?3 g- l2 M
dwNameCheckFlag = 00000002
7 a {4 ~' v+ n- `1 Y: r cAddressAnswerLimit = 0
" d% Q) _$ R# ~9 E! { dwRecursionRetry = 3) C6 @) W! {' d! E- S
dwRecursionTimeout = 15
- Y$ H- X" C( g5 d: s; T- ]/ q dwDsPollingInterval = 300
" k, r4 i+ ~& [6 K; I1 \" { Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
], q. v3 Z' SfBootMethod = 3
, a& z n8 _9 R) i# E% ^3 [4 v( _ lfAdminConfigured = 1
: B8 ~* W; [: r* r F7 AfAllowUpdate = 1
5 n, R6 Q) ?9 ]4 o z: C0 \4 gfDsAvailable = 1 + y" W. z9 @+ A* J+ T
fAutoReverseZones = 1
& z1 m: y: y2 V# J: G; P) [8 Q9 vfAutoCacheUpdate = 0 5 g* C2 D5 V6 Q" L7 m; \
fSlave = 0
0 Y; `* o4 n' i) x! \fNoRecursion = 0
5 Z/ c7 G$ L1 WfRoundRobin = 1
# W( I) X3 ?) U1 {7 TfLocalNetPriority = 1 * q# I8 u$ S4 \% [, I
fStrictFileParsing = 0 ; _9 X9 p. G+ [% {3 [( L
fLooseWildcarding = 0
- N4 V' _4 G4 j/ o h: ?( i5 L: cfBindSecondaries = 1 7 B" E3 H5 e7 q* U
fWriteAuthorityNs = 0
# ~' K7 e# ]! f; \Aging Configuration:
, t" g+ V& _* S; A7 }ScavengingInterval = 0 ; ?- {7 M- U5 y% w3 }
DefaultAgingState = 0 " S/ s3 D' P. p$ G E% m
DefaultRefreshInterval = 168
; `3 ]2 b3 B1 s: x6 ^DefaultNoRefreshInterval = 168
) d2 l+ e% Q$ B* } ServerAddresses: 5 B4 D Q9 E/ E% M* g9 U5 D
Addr Count = 1 h, M/ T2 B- K( q2 W' A
Addr[0] => 172.16.12.1) V" k: R& p! G8 j
ListenAddresses:
! h+ v( @# \, k! V% l* z NULL IP Array.* x+ [: W7 L* V0 t' b
Forwarders:
& }6 Z5 Y' v9 P( C* \8 v Addr Count = 18 [# Q4 d) N" p) v. I
Addr[0] => 172.16.4.3/ j n' I, b( J3 \ [4 h! Y5 U) ]
forward timeout = 5
+ i0 m/ b) p+ |7 v" m" A8 Z slave = 06 |9 l$ u/ [7 f: y: t
Command completed successfully.命令顺利执行完毕
( t+ o7 `2 O0 ?+ { 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
1 |, o9 {" c0 d/ ^& r6 f$ B1 ]- f 命令:/Config
( G6 L- f5 M; e0 Y+ v 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
/ h( ^) M0 t9 [( i2 y
1 P) ^2 ^, z1 O+ W8 w( f* e 用法:
+ v. \6 U1 Y" F9 f. ` dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
/ c' A1 g/ W# I4 T8 L% [ 参数
^9 W& M: V0 T' j, y ServerName :服务器名称,意义同上
) H5 a0 Z) k- ^* M) Y J ZoneName:' D( E* I8 V2 N! v. _& ?
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
. Z7 o- g6 i' [) e2 A7 t Property:
& ~6 s: \/ {9 h/ r* \' f 这个参数是属性。这里所说的属性有:
, {+ x+ Z( g3 o; ]* g: p 与服务器有关的属性:例如:
; f2 E" k/ f9 `* W, E- H/EnableRegistryBoot
, ~+ V$ l" ^# Q8 I/RpcProtocol& Z- y% n8 I; g/ A& J& C7 O$ v
/LogLevel
% X1 O: w; _$ ^, M; O! m! t/EventlogLevel 等等 (限于篇幅未能全部列出)# N$ L: b6 ]4 r
与Zone 有关的属性,例如:
$ O- Z p1 ~0 A3 B: ?8 b0 f! N /SecureSecondaries! E6 n) J- j5 T/ r! X
/AllowUpdate' O: K: O7 @6 @8 C
/Aging; D2 T- e( `7 B" X5 _
/RefreshInterval Value
! J8 \. y" r$ \; g /NoRefreshInterval Value! G( ^' s+ u$ t5 r" W T$ X0 M, t. A1 C
属性值:: Y' B# C: g* D; ~5 U7 B
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。- y) a0 V1 P2 H( a2 z+ N
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。) H" Y. a% q: T) y
命令: /Statistics1 \* s) `6 W# u# _. ]
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
" P: b9 z4 v, `" f 用法:/ \' M" L' r! ]
dnscmd ServerName /Statistics [Filter|/Clear]
: w" \3 O3 r7 [ 参数:
$ T& L& B8 ]) _& F6 pServerName
; r2 |- m& P; N9 _2 L服务器名称,含义同上。6 i3 P8 g% H N# r# A* A' v
可选参数介绍:" X& N( V( A" Y6 }5 w' Y
共有两个参数,每次只能使用其中的一个。
7 t! u* K" l) x9 l1 B! } 1.过滤(Filter)& x* S6 E% H. K0 [; m; g
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
5 K- J& X7 j; |. S可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: - b! e9 {- R1 ], w) V6 C' p
00000001 -- Time8 b/ u1 z( O& _! I/ G
00000002 -- Query( d6 X! K* i# q: N- H6 `: [6 a2 f
00000004 -- Query20 F, ]" Z0 E+ Q: b0 R
00000008 -- Recurse1 j, r+ H' g: \
00000010 -- Master
, i4 _$ k+ w5 l2 u* S8 s) s- i 00000020 -- Secondary- H0 H! Y+ V* N7 g
00000040 -- Wins
2 f/ \ b8 F/ J6 d( M 00000100 -- Update
+ r5 p! s1 F# o/ k7 C3 Q8 e 00000200 -- SkwanSec
) a+ T. v5 X8 K 00000400 -- Ds+ r, F3 g( f0 o% v+ v3 S
00010000 -- Memory
- n* m+ ~4 v9 a% H( E5 \3 N 00100000 -- PacketMem
* O$ A( F8 q& ~5 s; u6 {3 R 00040000 -- Dbase
( V1 e1 q; U$ Y% p& a/ s# ? 00080000 -- Records4 _; G" v; }5 M
00200000 -- NbstatMem
3 R3 _" p& n1 ?& S( Z 2.清除 /Clear
7 G8 ~* k; `: L3 t L2 A 这个参数用来清除统计信息。; Y0 g* _* k& m/ g' D
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。" F1 B+ ]/ A m7 _! p9 Y
. |5 Q0 K* k; ^, G' w. x
7 i t3 e4 m, G
2 O8 k. I3 g# t |