本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
* n; {6 X: e- Q, J! Y+ { 命令: /Info ) C: W) W8 G9 Q/ V6 p' O i0 h3 ?3 k
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。3 G% j' l2 L$ I$ Q, G0 U; {4 [
用法:
9 U" ~' h! ]' D' O dnscmd ServerName /Info [Property] # ~+ i5 C7 d1 I) x: C
参数:
5 Q* ]- W3 ]! D( f ServerName
: {5 ?0 @% r. w/ S) e: E _/ P 服务器名称在上一篇中已经介绍过,此处省略。
( n- _6 J9 r' O8 T0 K. J [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
6 c$ U$ H* C( w- ^ 下面是该命令使用的一个比较完整的例子:
1 w/ \' L/ }- J2 G% X4 _2 B0 S 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:$ P2 d3 T: W- w6 B- f/ e
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
0 @# B: M: u A# i5 ~输出的信息:' z, D6 b: c2 p8 ?
DNS Server 172.16.12.1 Information:' B0 s2 h- g O) E2 e
C:\>dnscmd 172.16.12.1 /info* e n5 r4 S' f% S: S
Query result: 查询结果* A4 a$ A5 w+ v- o- Q3 ]( H6 O
Server info: 服务器信息' n# y8 c$ X. A
ptr = 00074718 端口2 E0 y2 v/ @3 v, `0 W( D5 W3 `7 l
server name = myserver.microsoft.com 服务器名称) s: v4 M9 m4 [* I8 H, y( b# g
version = C2000005 版本
% Z; h# L6 g$ G DS container = c DS“容器”' u3 A/ ?0 j- U3 S7 ]+ U: N9 N
Configuration: 配置信息 这些信息的含义请参考有关资料/ i7 @) Z. T" ^* Z7 W- D Q. I
dwLogLevel = 00000000" y, D7 r! q5 [' S/ C8 G1 S3 Y
dwDebugLevel = 00000000& r \; \7 R4 i
dwRpcProtocol = FFFFFFFF. C! @' G% z6 @% Q0 q
dwNameCheckFlag = 00000002
' z r$ y( ~* u7 ~$ T# v cAddressAnswerLimit = 0
" J X3 ~ M- Y9 v8 o dwRecursionRetry = 38 t7 s' h m9 d5 K8 [
dwRecursionTimeout = 15
5 F G8 p" F, _ dwDsPollingInterval = 300
( Q0 U T5 z& z4 j0 E; ?- U- B, s( Y/ | Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料% @5 q. Y" a: s& o/ j
fBootMethod = 3
% o$ t* M1 r" @& l% z" O; r* n u# |fAdminConfigured = 1
2 f* G/ j6 q2 H0 cfAllowUpdate = 1 - E0 S) J A- z/ p: o3 l
fDsAvailable = 1 . |7 V8 I, K# w# p, q
fAutoReverseZones = 1
) b5 o/ V- H* T1 u& cfAutoCacheUpdate = 0
& k. K7 i8 w" N+ w# |" }fSlave = 0
% e' D# W! h3 F; ?, cfNoRecursion = 0 ! y5 H7 y7 S9 T: Y" G
fRoundRobin = 1 3 S0 v! z5 A) B6 q2 e+ }& c
fLocalNetPriority = 1
( c% ~3 T& d* r3 t, KfStrictFileParsing = 0 0 `0 g5 F1 p' Y) |" i
fLooseWildcarding = 0 0 m3 H5 w' J8 V; F( F
fBindSecondaries = 1
; \* _2 i) e7 M$ c" n+ ^fWriteAuthorityNs = 0 ( d4 F7 c+ R8 K+ r/ q' w. V: c
Aging Configuration: . ]' z7 d% k3 e* b
ScavengingInterval = 0 9 e2 ]! b( m5 g3 m! I- @6 @
DefaultAgingState = 0 ; g+ C' L1 U0 I4 k! Y, A3 l ?
DefaultRefreshInterval = 168
$ j% R, {* J6 I1 ]5 H, J3 NDefaultNoRefreshInterval = 168 - V+ c) l) M4 y" R9 J
ServerAddresses:
4 _: s) [) `& i/ ~" w3 _ Addr Count = 1/ q2 i5 s, k# k" ?% y
Addr[0] => 172.16.12.1
% [) l! V# p" m H7 d ListenAddresses:7 [3 P/ I! T/ Y e5 F, M
NULL IP Array.
! J2 \% l' A7 @' y" F Forwarders:6 _) @+ A: r# P& I
Addr Count = 1
* Q" n1 i. Q6 v5 u" n/ R Addr[0] => 172.16.4.3
4 G4 c1 e) ]! i- K+ N5 a; ^4 f1 E forward timeout = 58 y% G, r! K2 J# c
slave = 0 a5 b8 {+ ]: o% A
Command completed successfully.命令顺利执行完毕 4 k; J. v6 d& w
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 ( D( B3 D5 X F/ s
命令:/Config
4 ?- z! H/ X8 s: S) l 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
9 j( U6 d8 r+ s* N
/ {" D0 a4 |( h* l 用法: j/ D2 B% `! a0 j& N/ Y3 t
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
& ^$ I: k& f- x* E* _8 ?- K: H 参数
! ^1 [4 h. b0 u ServerName :服务器名称,意义同上
K5 m% J* N& V# b ZoneName:
p+ [# p$ j% J" d4 x 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 . Z7 X, x4 R" j
Property: 9 x+ B3 C0 n; @" c( s! Y( I' w
这个参数是属性。这里所说的属性有:
# h7 b5 K9 C E8 z 与服务器有关的属性:例如:
6 b* [ w3 t [+ W2 _3 V5 d8 O/EnableRegistryBoot% P* e$ n8 H) ~, U! ~
/RpcProtocol
+ B% [1 L! D% l' P8 e4 P/LogLevel2 C# o) R8 F4 t; ^3 _
/EventlogLevel 等等 (限于篇幅未能全部列出). \/ G; v1 \' }
与Zone 有关的属性,例如:
* Q: t% k8 O* `( B$ b2 O/ e$ `7 a /SecureSecondaries8 @& K: L, b8 c a: {
/AllowUpdate
0 O' K: H O# Y" f; q5 Q /Aging! G3 t1 X, h& \3 f( N( d! W) x- z
/RefreshInterval Value; k& Q8 \6 L B9 p% R
/NoRefreshInterval Value
Q, \1 T. F! c" ?6 N Y 属性值:: x0 K: V# p9 D+ Y
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
( c* P8 M$ j: }( N, V从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
" d* X5 J1 C6 o$ B 命令: /Statistics/ W* M/ @4 m6 P$ Y( Y& [
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
m2 @4 W/ L3 x+ ~) q+ r1 C0 y 用法: T0 c) Q5 s0 `2 R5 z" t, y/ G
dnscmd ServerName /Statistics [Filter|/Clear]# ]5 v' q* L0 v. F* u' l$ V) ?0 ?
参数:/ p& E1 _ u: U9 O. ~
ServerName / y* G) z. G3 }9 p" w6 L
服务器名称,含义同上。2 a+ T# X, D5 l, i1 p- T* R& h
可选参数介绍:
: g, a6 q4 W$ o# g共有两个参数,每次只能使用其中的一个。
( F% E& @7 u/ u3 W8 w 1.过滤(Filter)
9 g0 d: u# T& z 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
& i' r- B4 l# m可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: . X. W* c- V' O! n4 P# R
00000001 -- Time
/ A M9 I. c' W2 d2 D8 [/ D 00000002 -- Query1 n9 K0 S& S6 `/ L( ?
00000004 -- Query2+ ], Z" {+ P/ \6 Y! h' s7 u
00000008 -- Recurse# X9 Q# u2 K' K6 _; g2 `
00000010 -- Master& G, {+ H: L6 R4 ~, K
00000020 -- Secondary$ U3 s, _1 Z# G/ ?! U2 {; `) |
00000040 -- Wins
' A1 E7 r- F1 e! { 00000100 -- Update
. g9 `0 G/ G$ j9 e 00000200 -- SkwanSec
* J- @% [' h$ k' w 00000400 -- Ds
6 t/ c$ W/ }' L/ `( Y2 \ 00010000 -- Memory0 d9 P- f4 @$ L* y* @' B& I
00100000 -- PacketMem
( n6 n( U4 O8 v# R. F$ @- d1 e 00040000 -- Dbase- g1 t6 ~0 ~1 v9 c
00080000 -- Records8 h: Q% b; u5 o8 _
00200000 -- NbstatMem
- B+ Q% J9 q& Y/ ]; z 2.清除 /Clear 7 L4 V0 h+ T& L% v! @* N
这个参数用来清除统计信息。
$ v0 N3 a2 m. ~" _ 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
: A' ?! h% P/ z! S3 d
! l+ B' y* r4 X: F, W/ r( p
: ~1 O" o" W+ X
# h! W- \& M5 e2 {8 r P% Z F |