本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。. x! z$ T7 k0 w: P# `
命令: /Info 8 K' N6 t- ~ A/ {. J
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。9 W! E7 U) `$ }. ]/ i. u! a
用法:
) H, t. s/ u* v# l! ~ n1 ?& ~ dnscmd ServerName /Info [Property] 3 l" I2 i; Y, Y' z$ R) b
参数:- P* }8 t" |8 }1 t. e
ServerName
+ ?/ ^! y5 v) r, J$ O 服务器名称在上一篇中已经介绍过,此处省略。
, E5 z W8 Y/ R+ F M7 F [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。2 d" b+ y8 e$ k5 h, ~: \
下面是该命令使用的一个比较完整的例子:
4 `4 J, Z. D0 J) r4 m5 M. ?: R 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:! {" M, O/ K; p. e8 x. E0 n
dnscmd 172.16.12.1 /info 只使用命令而不使用参数- r- H3 q' c C N6 ]/ y- w
输出的信息:1 K/ \$ ]! G3 }
DNS Server 172.16.12.1 Information:# ?4 F; }& R; I- }
C:\>dnscmd 172.16.12.1 /info
1 ~' z8 w( b- b2 _" B% F( KQuery result: 查询结果1 O. D4 N# ^; w0 F% z; V9 N
Server info: 服务器信息
& R0 Z" W3 l" Z% E% m. C0 X ptr = 00074718 端口
. R$ A. L U+ v: p' i server name = myserver.microsoft.com 服务器名称
6 B! [6 \6 p) `: t. G8 d version = C2000005 版本
+ {6 l. V; K* C2 _ DS container = c DS“容器”
( y/ `& }* p% {$ C5 x0 }- Q1 ?' e Configuration: 配置信息 这些信息的含义请参考有关资料
% ~- {9 p! ~+ n& z1 w) y dwLogLevel = 00000000
* R& H4 L e" R) i( i4 b" P" J dwDebugLevel = 00000000
7 d$ X! u9 j# U" o+ F6 a. r8 [# _. T dwRpcProtocol = FFFFFFFF
3 j; n0 f3 x7 F0 A" V( L dwNameCheckFlag = 00000002
$ i) |, @, _& D! ` \) ^0 M. u8 p. j cAddressAnswerLimit = 01 E7 ]" D, y0 P0 P7 W1 _
dwRecursionRetry = 3( a' g. l6 S4 P9 r1 L
dwRecursionTimeout = 15) f3 Q) k6 v& \" L) {7 ?5 y
dwDsPollingInterval = 3007 ] W) o c" y- g0 a, y
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
# u6 c, e3 S0 WfBootMethod = 3 0 I0 N' |- l1 @( C! m6 d3 L
fAdminConfigured = 1
2 J4 n b- A* F+ mfAllowUpdate = 1 - K4 F6 F" M$ y* F% w8 @
fDsAvailable = 1
- A7 q8 w$ I( `( m1 B$ SfAutoReverseZones = 1 5 I& e& q! h% H5 m8 U
fAutoCacheUpdate = 0
0 `6 H2 w8 P* {) |- H, y+ `fSlave = 0
* a7 V( t2 @$ lfNoRecursion = 0
+ E1 y( r1 Q a( o% z9 EfRoundRobin = 1
0 v2 i% K% ~6 s' f/ q/ VfLocalNetPriority = 1 2 A. d8 h; c7 {$ i' _8 ^) |
fStrictFileParsing = 0 & J3 M; B! m& z1 l+ N2 B; o2 \) |
fLooseWildcarding = 0
! ]" P+ Z# s% Y. z8 K, C$ W7 UfBindSecondaries = 1 3 M' T( g A# M. o! ~7 i x
fWriteAuthorityNs = 0 ' L, I( x/ z; Q$ I4 f9 M
Aging Configuration: 3 ?' N0 e2 n5 H& P$ j6 n
ScavengingInterval = 0
- m7 W6 k& U' e8 d" ^1 ?6 l4 \- @DefaultAgingState = 0
/ b) R8 q( B+ i2 N- BDefaultRefreshInterval = 168 3 b: }* n- u/ p" v. s, h
DefaultNoRefreshInterval = 168 0 ~! \' H8 G: `, ?4 j) i
ServerAddresses: 0 i# m' ~! u5 k- x
Addr Count = 1
- d7 N8 h4 U; j- @4 e q Addr[0] => 172.16.12.1( M0 ?$ m; j9 ^# z' }7 ~( ^( H
ListenAddresses:
. h: K/ K# U, p2 h: Y3 G: p8 Z- X NULL IP Array.
$ y: u! Y4 W3 S Forwarders:
4 q* P5 i# W- x4 P Addr Count = 1% J6 h9 J/ {( x8 n
Addr[0] => 172.16.4.3
' ?! v5 a- ]3 o' H! E forward timeout = 5# H q& }: H2 O/ D
slave = 0- R' ^) p. Q$ g6 G! m* ~+ n1 y
Command completed successfully.命令顺利执行完毕 & u* G7 u: a( t4 ~
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
9 R6 W0 I% s" j9 H. M 命令:/Config
; x$ M7 t8 o7 a: l" K2 s1 E5 l 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。+ e! W4 n6 O8 x
: k1 {2 `! X/ d4 @& p, g
用法:) M5 n6 d+ X( z
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value1 R- i( I- n5 y# z1 p1 f% C& U; T$ d1 U
参数
' {6 w1 }' L1 D ServerName :服务器名称,意义同上
9 j9 ?, @5 |9 B) C ZoneName:$ E' i z. G3 o$ h- _6 a) H
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
5 a4 l0 Q4 S4 Z5 X$ T% _& f Property: / m4 w6 n8 Y' M
这个参数是属性。这里所说的属性有:6 N6 w# h( c6 _6 O! M
与服务器有关的属性:例如:/ A% _- g8 P4 [, k/ N; ]) [, n
/EnableRegistryBoot1 @9 o, S% c/ j, e
/RpcProtocol
+ F( g- X% p5 K4 Z, p! g" D/LogLevel
0 a' d6 _8 ?, M$ }: c5 R1 N# ^/EventlogLevel 等等 (限于篇幅未能全部列出)
7 i; A) ~+ Z1 P5 o- g与Zone 有关的属性,例如:
& ]" ?& q1 n6 w$ Q. x /SecureSecondaries
5 T" u O/ Z5 A* P2 U- U /AllowUpdate! Y1 I+ g; V% h" \6 y- h$ L# P! H
/Aging
" u8 P/ J4 c) [4 g( g7 Q* V /RefreshInterval Value# c+ X2 ^' N, W* b( g
/NoRefreshInterval Value, `& `- V) ^ `
属性值:
6 o/ s- j' W9 B# J5 V% R2 u 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
9 e2 Z+ n* D9 @: E# X1 x从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。# K) {8 G, Q4 a* o
命令: /Statistics. l9 o& S+ P1 O# P3 A o
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。, X7 v4 Z& j! w* X" D' L) \
用法:" p; f7 e( D2 \* B5 i# g& u1 e9 C
dnscmd ServerName /Statistics [Filter|/Clear]
/ L7 T$ m! L: O s) K: k 参数:
) Z0 o- D% g7 \ServerName
7 u" i" f, W, c: ?' t服务器名称,含义同上。
( w/ \1 G+ a. f! x' _可选参数介绍:
# b3 `# {# Q1 t) g; Z. M共有两个参数,每次只能使用其中的一个。2 l- ?. j# ]9 j8 x% B3 ^
1.过滤(Filter)
5 @# x) r! [+ U 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
* l. x' O# X: a可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
, l: n* r1 R' G$ ] 00000001 -- Time+ y- Q7 @7 Q: |
00000002 -- Query
0 I0 V9 A# N8 W5 j: {8 u 00000004 -- Query20 O# ?1 g0 N5 d5 }' \+ v" A! b8 @! C1 u
00000008 -- Recurse
5 ^) X1 y6 b' K4 t E+ b/ ~$ H 00000010 -- Master% J2 o5 R4 v# C) b5 j+ E
00000020 -- Secondary
: `8 ]: ]& z/ ]' h/ _ 00000040 -- Wins
' t- t- b8 U* D8 m* M, S, D 00000100 -- Update
8 p+ a* K4 E! N; Z# ~ 00000200 -- SkwanSec
8 W% l- i6 M8 p5 B( R5 e8 O% L 00000400 -- Ds
/ _; ]! u3 h: X 00010000 -- Memory' |5 K6 b# h- s m
00100000 -- PacketMem
6 K- T r& I" D$ Z7 M9 V( S% e 00040000 -- Dbase
/ W% Q. U2 r. S0 A 00080000 -- Records
8 d( U6 W. @" l) n" v& _* Q- T* m 00200000 -- NbstatMem
* t9 w$ M, f# ~! H. a1 F 2.清除 /Clear * o: v: q: I* I; j: a c3 O
这个参数用来清除统计信息。
- J3 [, [5 F( y) R1 A( R8 r" W 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
, U$ K$ G! a8 u2 W9 h6 Q
. g( T+ {. \7 |- U 2 j2 f' E$ N) u. _6 Q; U2 L$ I
. w$ _/ ]1 ^6 R" ?8 J. o" T& Q
|