本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。$ z# A+ }$ I4 `) o: ?, d
命令: /Info
1 F( T% b/ o* B 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
0 E" ]4 G# e0 z7 b D8 }& B C; M 用法:' J5 j) h# T: d/ k5 Z
dnscmd ServerName /Info [Property]
* k. S5 u" K( f5 |2 l 参数:
. [/ h: N5 F% A9 ^: |, V ServerName # _' e* g! Y& } l0 l
服务器名称在上一篇中已经介绍过,此处省略。 $ F+ `- W% k+ b3 s/ t
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
4 z1 _0 J3 o3 T& S# p5 a 下面是该命令使用的一个比较完整的例子:8 i' N6 f( X+ z& X! M9 l8 p; U
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:, Z. q( d, r9 S! ^3 I z
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
- M/ j. f5 i+ Y, N# g1 T6 [9 j输出的信息:
$ n# T0 \8 V+ Z$ q6 `8 ?DNS Server 172.16.12.1 Information:
6 e4 G9 `) y6 F+ [1 R8 P; e8 cC:\>dnscmd 172.16.12.1 /info' }. t! A# M" Y6 l& I: ?' j
Query result: 查询结果$ ]7 g! O9 J% W
Server info: 服务器信息
6 f% @7 n6 W: P2 y/ |, h e' u ptr = 00074718 端口% j0 K! T) x* e! P( |
server name = myserver.microsoft.com 服务器名称
& c3 \: p3 ?! `3 h version = C2000005 版本8 R" u& y4 a$ v4 [1 ~
DS container = c DS“容器”
5 p$ T' W! F2 w( E Configuration: 配置信息 这些信息的含义请参考有关资料" ~8 S' _: T# @9 n7 [( m
dwLogLevel = 00000000- U" q' V7 f1 g) X
dwDebugLevel = 000000008 v3 @7 C) A; N7 j% J
dwRpcProtocol = FFFFFFFF
. ~, ~" h5 G, ^& q0 Z. u dwNameCheckFlag = 00000002
* R- Q8 B$ \: @9 E# V- i cAddressAnswerLimit = 0) q5 R1 Y A- W! V+ ~% F
dwRecursionRetry = 32 d, z4 K! k4 n6 B8 t8 P4 N0 E
dwRecursionTimeout = 150 C$ o% k# i; N9 ~" V+ x
dwDsPollingInterval = 300" G5 @( a O N( Q2 k
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料; v" M$ L* [' Y; e5 m
fBootMethod = 3
/ N8 B: h! w' bfAdminConfigured = 1
; U& [) A1 ?, f# HfAllowUpdate = 1
; j1 X l- {! Z9 R1 n7 ofDsAvailable = 1
) c5 r* S$ @- i) p$ B/ x1 p* u/ ~: qfAutoReverseZones = 1
! o) M2 p# f; t( S5 G. f4 m! K9 }0 QfAutoCacheUpdate = 0
- X" x7 `: O- _; V! d" l9 lfSlave = 0 ' v" z# ^' x% u, a1 L2 U
fNoRecursion = 0
5 d3 n6 Y- {, }; H ffRoundRobin = 1
4 J) O+ M6 L4 HfLocalNetPriority = 1
2 P: ^6 N! P* T" }2 Q. E, vfStrictFileParsing = 0 7 y. F7 T/ q6 @) G, k
fLooseWildcarding = 0
7 v) i. T3 v- |" [, NfBindSecondaries = 1
/ y h" Z0 |- XfWriteAuthorityNs = 0
7 ~7 U/ l) s; ]5 c' p6 ^5 {# f/ |Aging Configuration:
) T5 T- x! _7 |) y# d+ f8 jScavengingInterval = 0 P/ a; W% T- }/ Q, r# v: g6 |+ G
DefaultAgingState = 0 * |. s, E0 P3 C$ z
DefaultRefreshInterval = 168
0 p5 R% l; H' U; pDefaultNoRefreshInterval = 168
4 r6 j0 c% i4 U2 L: Z- e ServerAddresses:
/ ^ Y% r$ J0 r4 l Addr Count = 1
* N# V4 s7 S: F2 ` Addr[0] => 172.16.12.1
2 a4 m& G* m. Z. w @4 d( x ListenAddresses:* ^; K/ v3 N# K. o
NULL IP Array.7 W4 S+ O$ c* {+ X4 m! w
Forwarders:
' z. b6 x! y" l ^ e4 S1 \! D" B Addr Count = 10 ]+ [7 j5 S3 L4 R( s. K4 d7 K$ d
Addr[0] => 172.16.4.3. w+ O7 _5 f; M
forward timeout = 50 o6 P( e! A+ `( Z9 r
slave = 08 C* p3 R( |/ o
Command completed successfully.命令顺利执行完毕
% v6 ?# G, k- o j. U5 s 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
R: [& S% ^ {4 s( ]3 z 命令:/Config
3 M0 e2 E4 ]& R 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。9 u8 _& t3 R c' f( _
5 \# ]5 ?; h! b' R 用法:
# I( \ P' ?$ |: G6 ` dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
& s% h6 j6 W4 C 参数
' L+ E F) c' a/ X ServerName :服务器名称,意义同上 + f# L0 i& }+ A
ZoneName:
P5 |+ g- B2 b 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 [; C. C! s+ E6 v, n
Property: 6 B0 {3 e2 [, W! K$ J
这个参数是属性。这里所说的属性有:1 d3 R$ ?) i, o0 k2 J
与服务器有关的属性:例如:5 A3 z9 I- ^* |6 C* C
/EnableRegistryBoot
P$ N) L: w4 @2 Y" C/RpcProtocol/ X5 M4 U, D" a: _
/LogLevel
1 w0 c. _8 h; c8 M4 }, s7 Y/EventlogLevel 等等 (限于篇幅未能全部列出)& B6 I: [+ R' t5 M* ?9 H. [5 s* ]
与Zone 有关的属性,例如:# ?0 [1 W8 a2 X) L6 e2 G
/SecureSecondaries
H: w# {( [' j) i* Z$ o /AllowUpdate
% K: a* g+ }2 G" X6 a. x+ Q$ @+ L# I /Aging0 @1 N- b. r) z/ m* n# m4 G+ d
/RefreshInterval Value
, m `/ V: `* _& x7 V /NoRefreshInterval Value8 u2 a* E8 ^& }/ N
属性值:
8 T4 Y/ x* l, I+ l- Z 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。- T" L8 k+ s& r$ g3 \8 n
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。/ \' u# X: R- E* H
命令: /Statistics
$ u$ W* X2 t; D' F! \ 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
( d2 p1 c5 j: a 用法:& ]( Q7 v* W9 v, d) I4 t; ] Y
dnscmd ServerName /Statistics [Filter|/Clear]3 N5 v' n3 g) p
参数:- C. ~, c/ P' W/ O# ~
ServerName _# v7 u" y5 s Y4 w- A$ \
服务器名称,含义同上。: T2 }/ G! \& R4 v# m4 j1 Z# ]
可选参数介绍:9 ^# g) v: K% v b
共有两个参数,每次只能使用其中的一个。+ ~: l9 g8 s+ |/ e
1.过滤(Filter). ^! _: z9 E: W) y6 d1 z
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。; Y% o' e3 ~# G- Z6 e1 d
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
* n* Z% T$ _9 s) M$ g+ B! ~ 00000001 -- Time* ~% i7 T0 P: I u
00000002 -- Query. g% |+ g. c% c5 n
00000004 -- Query27 v7 e5 C E3 }& b4 _
00000008 -- Recurse
7 P) G; D: N$ t) n 00000010 -- Master, f/ p5 l6 H! u* e* \2 Z8 c
00000020 -- Secondary N o1 h: U2 i' k- ~* d) M4 c
00000040 -- Wins9 z6 b/ j l0 T
00000100 -- Update
5 k8 _8 ]0 m; s9 c/ s 00000200 -- SkwanSec) f1 e/ f1 d5 o
00000400 -- Ds
8 Y" n8 b- \: z* F8 v5 t 00010000 -- Memory& W- b+ o! T8 k- ^
00100000 -- PacketMem8 |( {/ e3 I m8 x! {0 E% n: L
00040000 -- Dbase
+ e. p9 X; {6 A# L7 s 00080000 -- Records
$ \ f- w5 H3 } k, C3 D/ {# k 00200000 -- NbstatMem3 c! G/ |9 I$ B# y( U1 C
2.清除 /Clear . T9 C- V3 g2 ]( e: r
这个参数用来清除统计信息。* \- c1 z5 G- |9 ~' l3 z
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。+ f7 l8 H1 o- _6 K. G% [" N$ C
5 g% _& y, Y9 q$ ?9 D% {
. a8 k$ X, e' Y3 B% e( P
0 A# c1 c* m5 ^ V( p
|