本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
& M1 t/ q0 v& B: s 命令: /Info 2 v1 E1 b9 o, o+ b" `- J( l
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
4 m$ y3 T/ f. l j. o2 l 用法:
+ k/ w. r; G9 D dnscmd ServerName /Info [Property]
. {6 s1 U# w4 l. e0 F r! ]; G3 ` 参数:
+ P- O" n9 J& _ ServerName 6 O: f' I- E3 u4 w2 r
服务器名称在上一篇中已经介绍过,此处省略。
, F% L1 y7 T' c/ w! Z* M o [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
/ B8 y* _9 m Y! _1 h 下面是该命令使用的一个比较完整的例子:
2 J7 h& u5 p. L+ K/ L- e) O) W. b 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:+ P- M$ n' [% H- W0 b Y
dnscmd 172.16.12.1 /info 只使用命令而不使用参数: w$ i7 o. l! ?4 p: s
输出的信息:
, q; R4 k3 S u5 K3 y9 g/ }0 \2 jDNS Server 172.16.12.1 Information:
. @2 _' R) _4 C m1 M( N1 DC:\>dnscmd 172.16.12.1 /info$ a/ J0 Q9 } l( d; u
Query result: 查询结果
8 S" G# c4 L" F4 X! Y8 MServer info: 服务器信息) M6 w3 K: ^" K2 \
ptr = 00074718 端口
* Z$ F! U& y' S server name = myserver.microsoft.com 服务器名称* b( X8 r& X) n
version = C2000005 版本
/ c. Z" ^( S0 B9 a) k DS container = c DS“容器”
4 M$ u( b; l( C+ ^( D# | Configuration: 配置信息 这些信息的含义请参考有关资料( v6 B. g* U) O( b
dwLogLevel = 00000000
- G8 y+ R1 r# Z% t+ y& P9 ~4 H& a dwDebugLevel = 00000000
9 _- W) s3 D& S+ @( K+ T dwRpcProtocol = FFFFFFFF
+ i0 \" N- ^7 r2 U' b# q* U, ^ dwNameCheckFlag = 00000002/ r9 t/ v" @3 Q P. N
cAddressAnswerLimit = 0
5 N5 h# @4 f$ J7 f1 P dwRecursionRetry = 3! C; d" Y) c% z% j/ h$ |6 V
dwRecursionTimeout = 15
3 D) L( ?8 i& @9 g! x; ?' v dwDsPollingInterval = 3008 {" Z7 m* `8 I( g
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
) U( @; v: W$ J% i; X. b" }7 d& VfBootMethod = 3 ( v; t8 U2 b; n7 d& W E- D
fAdminConfigured = 1 : I) X4 b; l% X- [
fAllowUpdate = 1 9 o: [5 h- w ?; f0 k! m0 m* e
fDsAvailable = 1 , G8 f( k' {; b5 n2 L8 R# N& e
fAutoReverseZones = 1
0 J1 {7 t1 H7 D+ ]8 l ofAutoCacheUpdate = 0
! { N& J c! P' u( E* j9 }fSlave = 0 / F4 U" [% ?2 f# R
fNoRecursion = 0 9 r+ o; Z$ X3 b x+ v' j* k+ s
fRoundRobin = 1 1 o ~9 c+ p4 C' q" M
fLocalNetPriority = 1 $ h9 v t2 Q% k& b* h7 r, `
fStrictFileParsing = 0 2 j) @9 {# K4 D& b+ r- }! r
fLooseWildcarding = 0
/ M' x: A/ R0 d$ N% n3 ?! ~3 h: GfBindSecondaries = 1 & A% B3 L' J! o- {- }9 I
fWriteAuthorityNs = 0
, U: k) F1 @+ J5 H9 ?Aging Configuration: - ?; |( J5 I+ }# B5 {
ScavengingInterval = 0
+ n% e+ o& o: ^( x' J. o5 ~DefaultAgingState = 0
- ~! F5 @: v3 C( s7 C( gDefaultRefreshInterval = 168 $ \+ L& F* c/ a* l
DefaultNoRefreshInterval = 168 & w0 v: E; ~2 r3 k# `
ServerAddresses:
8 C$ `0 \. s4 w* a$ M8 i, i Addr Count = 13 M1 a' ^5 y( T8 a: y8 I
Addr[0] => 172.16.12.1
. ^$ x9 `- h. M, c4 y9 l- ]' [1 U ListenAddresses:) c3 P' I% t' Q' Q9 i# N3 r: Y' }! q
NULL IP Array.3 x1 ~0 ?& t# o, W
Forwarders:5 \! c5 L+ k& m
Addr Count = 15 Y& W( @- V3 b. v$ m- u
Addr[0] => 172.16.4.3
4 Y/ ?" j: u. @6 j forward timeout = 5
% |1 h0 L' v" n7 ?/ ]4 O slave = 0
0 L, G* h6 ]7 p* F' L XCommand completed successfully.命令顺利执行完毕
( x& k: k( A; x& e 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
5 t: ?% v! g1 ?# a3 J 命令:/Config* U& P+ _% b A, c: `
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
- W2 e6 N& }, g u: L4 n9 _
7 E5 e" r& ~1 y0 X& y! ? 用法:
1 D* k+ w+ F2 x# Z+ H. R dnscmd ServerName /Config [ZoneName |..AllZones] Property Value$ z' Y! R9 A$ m e4 w$ m! S
参数5 K/ ?7 s9 [+ p4 n9 m1 i, n
ServerName :服务器名称,意义同上 9 L9 p4 Q) {6 Q$ n
ZoneName:# h$ ]. {& R: _/ l: C- }' q( m
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 8 j# V2 ^ X& q! y# W7 y3 T8 S3 B- Q
Property: , n8 s5 j" Y5 C# y I' j# f
这个参数是属性。这里所说的属性有:7 ^% j# {" F2 t
与服务器有关的属性:例如:9 r* d" b; b; G3 f. ~; I- A& H
/EnableRegistryBoot
' v2 k1 R: C z0 Y/RpcProtocol( I" x* ^4 _6 H+ Z, i5 Y# l8 Z
/LogLevel8 V4 R; p# I, ]% V, h/ {. D
/EventlogLevel 等等 (限于篇幅未能全部列出)
; }" e1 l4 j) I/ `4 r与Zone 有关的属性,例如:& I# g- D; Y: L; i( H$ ~
/SecureSecondaries
) ~7 V y. V- d% V /AllowUpdate
6 z+ P$ d: V2 a& v* k! X2 s /Aging
6 _* \! o) X% N; Z% v% e /RefreshInterval Value
8 d+ {3 ]& y0 u /NoRefreshInterval Value
# P# Q) S0 B" u+ ]; O- Q 属性值:
3 l# |! q W7 P5 u; K 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
; k, v% S" L: L从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。+ {- S( i" x: S
命令: /Statistics
H7 k! \$ c! P% v1 b0 g 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
% I% A) M/ P6 s! h3 q# x 用法:& Y) n1 M. J7 ^9 T7 ]
dnscmd ServerName /Statistics [Filter|/Clear]- B7 t% O! S, x ^. r9 Z
参数:: q- _* p: ^: ]) ~; h+ M6 i l$ H
ServerName
" m( X4 e0 R8 c服务器名称,含义同上。
& P {& u7 ?# @; x) a可选参数介绍:& F7 q" Y+ ^4 a1 t+ R
共有两个参数,每次只能使用其中的一个。6 l% H& W! g) C" Z6 o
1.过滤(Filter)
) i( ]" ]7 ?6 M5 s3 F 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
" m& h9 v$ u# M* M t2 m) u$ R可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
( u$ I3 i& |. U/ D 00000001 -- Time- \( X, W2 j& ~3 C$ B
00000002 -- Query
0 M, a6 t. a8 ^/ f 00000004 -- Query2( F5 `, U$ D5 S- A R2 G+ U
00000008 -- Recurse2 } q2 w1 g c) r; x/ q) \) B
00000010 -- Master$ K. s. c. X4 }- E+ P/ T) v
00000020 -- Secondary
; Z1 N* P( `% a d! ]" z 00000040 -- Wins
, E& u# E1 P; T7 _ 00000100 -- Update, Z- S2 K" B1 p9 P0 m8 N8 D
00000200 -- SkwanSec, W' F5 B* n @% j$ X9 Z3 A% }5 B! d
00000400 -- Ds
+ r i Y5 G6 P+ M) y+ A% P. V 00010000 -- Memory- r a& ~ u a4 g: O
00100000 -- PacketMem
/ c3 @6 v7 f% R0 {: I7 g' } 00040000 -- Dbase4 ~5 k8 I3 ]9 Y, Z
00080000 -- Records
2 _0 s- i% N/ L! B! {5 }6 g. H 00200000 -- NbstatMem% a5 M) b1 W+ ~: q
2.清除 /Clear 8 z3 z2 Z% [% b5 ]% B, M1 L# B. o
这个参数用来清除统计信息。7 M: E! U2 J" Q* q! G
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
% p. ~8 ^1 b6 _. P* Y3 d* ?+ ]6 L/ n8 ^' C0 o: ~0 X
3 G2 N/ b6 ]7 G" O$ O& {
$ z. h3 U; n0 [) R2 N0 a% V |