本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
7 c$ d8 `3 R& V8 D; w, U 命令: /Info ; Q( K" j9 I# z7 d; ~! [- p
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
: x. K5 T5 [/ z1 P0 g, o7 ] 用法:
" T' V3 k& w2 t( j dnscmd ServerName /Info [Property]
! L1 C+ E. _$ b( a/ \. [+ c/ \ 参数:) T! O9 @6 T! A6 P1 e
ServerName & a0 @7 w3 M9 Z/ w3 X* P
服务器名称在上一篇中已经介绍过,此处省略。 , P [, {# m+ P/ U% P/ u" W& u9 R
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。) E+ a& C: Z& j( s" O: a. D
下面是该命令使用的一个比较完整的例子:
1 b Y' N6 w. i& z! t0 m0 }% O/ Q% { 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:/ g! j. n. p" \" ~. A
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
`( C0 X, q( u; Z0 g$ O) K4 D: \8 @8 q输出的信息:0 Q! Y& O, b5 b
DNS Server 172.16.12.1 Information:" m) J) k. P5 M$ N; }& \ S \: ?
C:\>dnscmd 172.16.12.1 /info( D' @8 F, |# |: Z6 q
Query result: 查询结果
8 t, |( G i! \7 L& d8 [/ C! [, S; bServer info: 服务器信息7 c8 ]- Q0 E7 A- Q, d" y- z
ptr = 00074718 端口! |+ A* |& \- @- ?: Q
server name = myserver.microsoft.com 服务器名称" ?5 ^( Q% h& R- H& t
version = C2000005 版本 `+ d8 b3 a" W. U* r( ~1 B
DS container = c DS“容器”( ]. U+ R& o( Y5 M
Configuration: 配置信息 这些信息的含义请参考有关资料8 N& j$ a. A- w; _9 K/ x
dwLogLevel = 00000000
* V4 Z' G+ Z7 T0 G: S dwDebugLevel = 00000000, C! U- S- d8 w0 b0 P4 x
dwRpcProtocol = FFFFFFFF4 [+ \1 I* A3 L9 ?- L7 }5 L$ s
dwNameCheckFlag = 00000002
" G, o9 P4 q2 N+ C% ] cAddressAnswerLimit = 0
' a2 |" M1 `0 t$ A% i! h dwRecursionRetry = 3- T+ j3 g: b8 s' [( x2 n) `
dwRecursionTimeout = 15
$ t) |; D c( W' f dwDsPollingInterval = 300' Z5 i2 Z4 g. L# d6 r
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料8 W& D8 m) k2 `% A8 o1 j$ i! ^
fBootMethod = 3 & s7 S7 A! o; V: o
fAdminConfigured = 1
. e0 s- B t: S0 ?- y# t& d; u! A, bfAllowUpdate = 1
2 U1 f% `8 [0 N$ A* VfDsAvailable = 1
% Y d+ A1 Z t3 }4 X9 DfAutoReverseZones = 1
q& L& l z5 @# V8 J, O; O# ^fAutoCacheUpdate = 0
5 p* f; x3 b, J5 [fSlave = 0 : d. n* R& F- ^1 ]6 _
fNoRecursion = 0
" [& `3 \/ ?4 u, K' KfRoundRobin = 1
3 i! G4 n, n. q6 g/ gfLocalNetPriority = 1
6 A( v$ M: \! Q+ p1 }- y& XfStrictFileParsing = 0
4 ]& j* `* b1 x% ~! t$ d3 [- ifLooseWildcarding = 0
5 u& h, @9 E9 I1 y) r" f% U8 K- IfBindSecondaries = 1
; E! d% ?* C- S& yfWriteAuthorityNs = 0
; W/ n4 t) A& h$ c7 ^" yAging Configuration: 3 H$ E n8 m( Y9 o% w/ p7 {
ScavengingInterval = 0 3 Q; ?! G5 R8 d' i4 Y* Q" N
DefaultAgingState = 0
3 s7 T$ a2 m- X$ r- N0 zDefaultRefreshInterval = 168
+ e; y9 \0 R' I: A0 T$ _) pDefaultNoRefreshInterval = 168
) `4 v2 H. v6 ]/ O, ^& G- Z ServerAddresses: 5 Q# A7 _7 K8 U+ U! Y# _+ Q: m
Addr Count = 1& x; }' U, h- C5 b+ v
Addr[0] => 172.16.12.1
4 w8 k. ^% X4 p$ p ListenAddresses:) M8 X' W& S% W$ H
NULL IP Array.
* |, \; E* C. Q! E, F Forwarders:
4 Z# J& k. b4 x- b9 E6 H Addr Count = 1$ X8 b8 x9 a r
Addr[0] => 172.16.4.3
; | H2 u/ x/ G& Z# ]# z3 a forward timeout = 5" g4 g, _6 X' r, b; q
slave = 0
8 S& `! L8 [# H' t& sCommand completed successfully.命令顺利执行完毕 - ]; ]1 j! ~# a
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
$ ?/ n+ r2 \1 t4 b 命令:/Config
" H$ @9 \4 e9 X- x 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。, k7 j9 w( I$ _6 S
- h2 A8 @4 u* }4 m. U8 R9 ^
用法:9 b y. J) [3 B. v0 E
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
7 J) c/ ^3 ^& s 参数8 M t5 B% s+ x4 s5 A9 S2 {+ n
ServerName :服务器名称,意义同上
+ ], t" j7 r7 V8 ~ ZoneName:5 I* {8 s0 Q2 Z/ S+ h
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 6 K o/ V0 n& m
Property: & p9 H+ ]; b( {
这个参数是属性。这里所说的属性有:' U& i. F5 I- s# y1 G9 k
与服务器有关的属性:例如:
9 C4 ], \7 c( n/EnableRegistryBoot
+ h6 p5 b0 }# `/RpcProtocol
. u- l2 `' a6 C5 i' z: f" B/LogLevel6 w. c3 \/ Q# t3 C( `) b4 Y
/EventlogLevel 等等 (限于篇幅未能全部列出): V6 A7 X& W( p$ k
与Zone 有关的属性,例如:1 ~; i. _% m2 `2 @$ }/ I% ]
/SecureSecondaries
7 x( z! v: h/ V) _/ C6 m /AllowUpdate
: A$ D I0 D. q* g4 \ /Aging7 p. G# b& ~' J# p7 @% E; F4 @- L
/RefreshInterval Value
" R% I2 y+ B. l1 q$ i1 w2 F# u! L# P /NoRefreshInterval Value
: N$ S& B. a Z" w6 ]% n4 ~) O 属性值:
( {- g! r3 y- `/ u- ? 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。( B2 j4 T9 E9 \: e1 C
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
: z" J' c& P7 D3 z! P& w8 ]6 I$ o 命令: /Statistics
: b4 k# [1 t# X3 A/ h 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
8 G5 ?2 [' |+ ]+ {. t1 g 用法:
; j" }/ q) p5 ^' ^ dnscmd ServerName /Statistics [Filter|/Clear]* b7 ^; l$ z# x2 U% B/ {' Q' p
参数:# V% ?% l* m# N' y+ L
ServerName ' e3 o; p# \, G
服务器名称,含义同上。& q2 `7 g3 x1 ^& ]! `
可选参数介绍:& O, J2 N$ a$ r" E1 o
共有两个参数,每次只能使用其中的一个。
3 t9 o/ o7 n! |4 c 1.过滤(Filter)
+ z! O6 f0 `, p( d7 R 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。# O+ W, ]( R& o0 b! ~2 D$ v
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 4 `9 A ~5 m' x! p& `0 G( _% p, y
00000001 -- Time }0 ?! b5 Q4 c, ?. T- P2 h' e
00000002 -- Query( F2 O2 [% G, D n
00000004 -- Query2* L6 [. j3 q4 m5 S6 q6 l
00000008 -- Recurse
. S G1 a' U4 _/ r 00000010 -- Master* W ` {7 \4 s
00000020 -- Secondary
+ H+ j2 e/ a3 {! c, M) V H" x1 x 00000040 -- Wins! }! B1 F# }1 }; {: n' a* v( B* E
00000100 -- Update
6 b8 O# b s Q* x, l 00000200 -- SkwanSec' I* O7 B K1 [, v2 e
00000400 -- Ds
/ R, F+ U6 r. x. ]; l7 X 00010000 -- Memory" @; S/ w* V: V0 g+ C) c
00100000 -- PacketMem( v* U; q. A" y1 p4 q U$ l/ ]
00040000 -- Dbase
' j5 x: |- u6 Q4 G; _ 00080000 -- Records$ h1 N+ S" n" ~$ S) B+ D5 j
00200000 -- NbstatMem
% C/ B3 H! n* C& M 2.清除 /Clear
@. _3 O# t3 ~7 C 这个参数用来清除统计信息。' E$ M4 Y# R2 U
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
% a# k+ j6 Y* Y, c. a* V
9 ^: J: J7 x' ?7 I7 ]0 z% }- p! B ) l C; F# P. [9 X$ ]: `( C! d5 t
0 A( K1 j- U8 d# H |