本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。/ ~, R8 S! Y) [; H, w" K, G
命令: /Info
0 S) H0 P% [( B0 p0 M+ f6 J0 b 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
: |9 M* Y) f- e( W, | 用法:7 s9 F8 B2 g0 t# h, @- \
dnscmd ServerName /Info [Property] " Y8 l: f6 |8 t5 Z
参数:# x" G% k0 k: _8 r# q
ServerName 8 M j" v0 R( C& Y C! n
服务器名称在上一篇中已经介绍过,此处省略。
0 ]/ ?7 H5 g! F- H7 ~ [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。1 z" H0 T" {" M: v' G
下面是该命令使用的一个比较完整的例子:# W, q: V# J# Z6 S/ ?% [$ B- o
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
) ] O' d# V: B: y$ z- t9 Tdnscmd 172.16.12.1 /info 只使用命令而不使用参数
- W1 E+ I7 z! J输出的信息:6 E# B2 R2 G7 Z5 \2 B* M& r
DNS Server 172.16.12.1 Information:
% K9 J; n8 p5 ?! F$ e+ wC:\>dnscmd 172.16.12.1 /info! F, \6 g; H6 B0 [1 ~
Query result: 查询结果! V/ S; T1 J+ h6 m6 K7 P- W5 f
Server info: 服务器信息
4 Q% |; ]7 y I ptr = 00074718 端口' l6 `0 X# U* u
server name = myserver.microsoft.com 服务器名称
- D0 ]# A* O# z& E! K1 x5 e7 p version = C2000005 版本
+ x/ R4 b0 f4 L1 ~$ h: j ?( ]" P DS container = c DS“容器”9 z X5 | F: }+ U
Configuration: 配置信息 这些信息的含义请参考有关资料& P2 f' M" Z2 x5 g1 v% @
dwLogLevel = 00000000
6 u r* X( C( i& K& W dwDebugLevel = 00000000
1 [% }2 ^) p! O& q+ R' P dwRpcProtocol = FFFFFFFF
# a1 j7 @6 E8 C0 S dwNameCheckFlag = 00000002
2 x! q, W- V! {. b cAddressAnswerLimit = 0
2 Y0 u+ |1 A9 m. Y6 a9 ~/ |/ ~4 ] dwRecursionRetry = 3
( d a7 o0 u) b6 I, c dwRecursionTimeout = 15, v' u5 H' Y. E
dwDsPollingInterval = 3002 Y' W2 J- A r* `
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料0 o& z" _: j8 u% ?5 M( \
fBootMethod = 3 ! a8 @1 R2 w$ m% v
fAdminConfigured = 1
6 X& a$ T2 h2 j% ]0 C/ x+ e* `5 s0 xfAllowUpdate = 1 H' }% w2 y j( w* s2 \" R
fDsAvailable = 1
/ E: k* }$ t6 Z/ EfAutoReverseZones = 1 5 S1 J P% K& s" p; f. _2 A
fAutoCacheUpdate = 0
( T6 h7 m7 Q. _# s: s2 y3 qfSlave = 0 3 g2 a- [! C# A% p0 s
fNoRecursion = 0
$ c3 c# n" j! v4 `2 h! B6 KfRoundRobin = 1
/ y3 e6 X' K/ T0 M) ]8 N& u, yfLocalNetPriority = 1 2 Y/ q' O* B9 }3 ]% L+ d
fStrictFileParsing = 0 - ?+ e1 j! u% n3 A9 X7 o3 ~9 r
fLooseWildcarding = 0
) I8 M* {# E6 h% ]* OfBindSecondaries = 1
$ ^9 N$ z0 b; v- ofWriteAuthorityNs = 0
, y) Q, Y2 L. e# dAging Configuration: & z( S* q8 y$ ^8 H6 a) V
ScavengingInterval = 0
3 v. s' M( u. w, p' H t" A6 qDefaultAgingState = 0
7 b& |% G: E2 bDefaultRefreshInterval = 168
) X& }3 h0 N1 x6 t2 b% L/ z% CDefaultNoRefreshInterval = 168
) g1 P! L. Z, V( j4 V: n; g3 E ServerAddresses:
5 ~" v0 j8 c6 N3 e0 r1 |* x Addr Count = 1, b% V# s3 Q7 y$ |0 t. w1 H2 _
Addr[0] => 172.16.12.1
r5 D' J9 F9 M0 w, t* S9 ] ListenAddresses:
% I3 a/ r5 \2 H$ W NULL IP Array.
. \5 C7 k. [' d4 b Forwarders:
( y0 M4 H, a# @- I8 @! Y Addr Count = 1% D3 S( I" o: Y( _6 H& D
Addr[0] => 172.16.4.3
9 n$ s' b9 ~) \" W7 v& `# ]' V forward timeout = 5; y% b8 v, H! v1 L6 ^; Y! z
slave = 0" W# T ]' y0 o) ~, ~% W
Command completed successfully.命令顺利执行完毕 , D# P8 @+ |0 m) b" z! l
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 4 ?0 y0 c9 A! X* Y" N2 c0 G
命令:/Config* l- C9 a1 v8 L; {6 f% K
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
6 S3 {8 l4 e- T" Z
" w) Q2 e1 B, x J9 W" S+ [ 用法:
8 N4 E' E6 G7 a3 p7 b! O dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* o; x, g4 x$ @5 Y6 k* e 参数
4 j; ~0 @) U( m ServerName :服务器名称,意义同上
5 Q a6 Q/ P) A0 ~) P ZoneName:& j% e/ c) F4 q- ?, J
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 6 _0 _6 }" Y; h a9 a
Property:
% q" ~" d: y1 C, I 这个参数是属性。这里所说的属性有:4 l8 J' D8 b6 c/ D
与服务器有关的属性:例如:. \! X( S2 ?, u2 f# `9 a9 R
/EnableRegistryBoot H h2 ^% v: z, c8 s+ h
/RpcProtocol
) g. X7 T# W c6 k }/LogLevel* {0 Y. v, J$ A' c0 H
/EventlogLevel 等等 (限于篇幅未能全部列出)
7 F' F* b3 o& \; |: F Q( a1 g与Zone 有关的属性,例如:9 X+ L( d) M; e; ~" y5 L
/SecureSecondaries1 i+ p; p% N0 W$ V- W7 k
/AllowUpdate
; I9 ]- m$ ^1 z) f k /Aging1 X4 K8 t, {$ E. R
/RefreshInterval Value1 ?9 n6 Y9 `9 q+ U; O# E
/NoRefreshInterval Value
% K6 s& k" {1 N3 p, G 属性值:
8 O# m, Z0 H5 J& {% v, A 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。6 Q) e }8 s( D/ j+ i4 z
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
/ [: @; T; _- A) Z 命令: /Statistics0 Q, O4 v s% z9 b
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
# `' A5 b0 P! @ 用法:: R) {# L: G5 {
dnscmd ServerName /Statistics [Filter|/Clear]
) ^% z8 E2 k& H: k3 j1 D 参数:
, A# _0 Q7 }* g! FServerName " H8 `; r r5 l2 R" q- {0 p9 t
服务器名称,含义同上。: D. X3 d4 @8 Q- L. v$ H
可选参数介绍:' L) H. a6 n p: x6 n* N
共有两个参数,每次只能使用其中的一个。$ n3 ~2 f, V5 k- b
1.过滤(Filter)" G/ r+ r7 f4 R$ Y8 L, E* T. h) z' \
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
: P& I3 b: B: C可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: + k, ?6 y9 {5 U0 c j2 e
00000001 -- Time" b& O, q5 w3 B2 v. T( p
00000002 -- Query
' F2 E0 a7 N# L 00000004 -- Query2
+ z* r$ q. k4 e: |& @$ ~ 00000008 -- Recurse
2 ~0 ^4 F# ~) ?, y1 g: z h& c$ X 00000010 -- Master1 F8 M8 T. L: ` w C1 _ a1 D. V
00000020 -- Secondary
& n/ Y: r$ `: c/ p1 C$ N% Z! c 00000040 -- Wins
$ b' v' r7 M* Y; r6 @ 00000100 -- Update+ q# P) t9 L2 C+ F% ?6 u
00000200 -- SkwanSec2 w) C. m$ ?/ |6 g! B: k
00000400 -- Ds3 [8 c+ D+ _ Y8 e4 }- F$ |2 E
00010000 -- Memory B6 o, X3 i% W; i: m
00100000 -- PacketMem5 e$ j. c* U3 n4 H' \8 [
00040000 -- Dbase
7 Q! V, B% b, G* l, ~4 H& R 00080000 -- Records
( f \+ r% n/ ~, n3 B, D0 w0 v 00200000 -- NbstatMem
: U6 `; m# ^% _# Z 2.清除 /Clear + @1 V; B; m1 i' d& w7 Z/ c
这个参数用来清除统计信息。# M. M4 M% d0 \( _
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。" p. B. o/ }; @$ c# C
; w% W+ D! c$ @% {$ [% E' u4 \
7 B, }4 B, K( z2 ]- s% D8 W
1 N, t9 Q* K2 ~. L+ G7 k5 \* j |