本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
L6 y- c q* I+ i: {* r/ i- Y 命令: /Info : r# [+ T4 W; T8 P- j4 O5 `" |
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。# A) _# e0 H1 }4 c
用法:& `2 y( h+ ?7 p6 _6 m3 Y
dnscmd ServerName /Info [Property] $ n0 T+ ~; G, N8 p5 {
参数:2 W) e; w& ^7 k4 {# s2 y# B2 g8 k
ServerName , U* [3 x# Z9 T- i( u. Y2 s7 l! v
服务器名称在上一篇中已经介绍过,此处省略。
0 x1 y7 w0 G& A1 }1 l7 q: x [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。) W( w" H+ K1 h# V {' [) H \
下面是该命令使用的一个比较完整的例子:
: h6 L; x2 e: f! i8 X 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:5 s1 |6 G/ y% j0 d2 N
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
" a. e: ^- D- o/ \输出的信息:) l+ b! W; a2 \
DNS Server 172.16.12.1 Information:7 V9 v9 D P" B& i: J; V/ m! }% s
C:\>dnscmd 172.16.12.1 /info
: V! E1 x8 \1 s1 @3 A5 ~Query result: 查询结果% H% p$ t' Z1 [! Y( V/ u
Server info: 服务器信息
: {1 a6 ^' ^3 V c ptr = 00074718 端口
$ u7 I2 T# F' e" ~8 a server name = myserver.microsoft.com 服务器名称- S7 L. @9 U) H+ u* W- }
version = C2000005 版本& o3 W2 s: \/ \8 x9 Z6 O
DS container = c DS“容器”
2 Y* F0 f3 ?. [) o5 ~! }% A Configuration: 配置信息 这些信息的含义请参考有关资料& Q* e# \$ S3 l0 b2 a' a) Z# [
dwLogLevel = 00000000
# I: K5 Y5 ]+ x( k8 i2 c6 { dwDebugLevel = 00000000/ f' N- o8 G/ _- M% c8 w
dwRpcProtocol = FFFFFFFF
% n% W6 H0 {7 y. q dwNameCheckFlag = 00000002
6 q" b# r8 |/ ]7 j3 N/ O0 n cAddressAnswerLimit = 0
( h6 ^; m) r! L dwRecursionRetry = 3: a! n O* e" _: K% |% |9 f% T
dwRecursionTimeout = 15% a% D0 h% R1 m; L4 e |
dwDsPollingInterval = 3001 a& ^' v* S3 C8 c$ I" J- w) i
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
2 R. t* s/ Z2 MfBootMethod = 3
" m! X6 m' _ ~# u! _; G7 Q; ?fAdminConfigured = 1 ' f: H4 L: |; U5 M5 f
fAllowUpdate = 1
- E( ]) ~( w3 Q: xfDsAvailable = 1 / k0 `: n% _! ~' ~# Z
fAutoReverseZones = 1 : v) b" l: Q! i
fAutoCacheUpdate = 0
! J" m# T5 v9 B! H& efSlave = 0
s. s% u8 f; |7 q0 nfNoRecursion = 0
0 f* q X" M" t. ufRoundRobin = 1 5 a! r# j3 o3 L& U G, w
fLocalNetPriority = 1
" e; w2 A9 Y" R& h9 f) cfStrictFileParsing = 0 1 J) ]- }7 N; W' ~' N
fLooseWildcarding = 0
5 n9 U# T+ M: `fBindSecondaries = 1
) }0 `) x* ` M8 c! p# ]2 ofWriteAuthorityNs = 0
5 Z! e8 l2 P' d% ^1 [, eAging Configuration:
. [- m) r( C2 x4 C! v" hScavengingInterval = 0
! |1 T4 ^& y" P- h+ GDefaultAgingState = 0
( s6 Y' z& O5 o. f: K+ k' B5 d, XDefaultRefreshInterval = 168
, l$ f0 ^* Q8 wDefaultNoRefreshInterval = 168 7 t- _7 S% Y7 r2 G+ f2 N) L, s* x
ServerAddresses:
3 b1 w) j% d) D* B+ H Addr Count = 1
' D: ~, N# ]- [ b1 J } Addr[0] => 172.16.12.1! j/ M2 T2 v6 D8 I) ^
ListenAddresses:
8 p: y/ k, J4 I6 F7 g1 Y ~ NULL IP Array. A0 G9 U! y) ?6 p" F) k
Forwarders:
) T5 Y/ M$ t' _6 C7 y5 {9 ~ Addr Count = 1
. e" Z# g; ^, F& i4 l. ^4 E0 J Addr[0] => 172.16.4.30 f' ^, L9 l) \- ]% M5 L8 I
forward timeout = 5
7 X: r Y3 E- r. f' G" v+ N. P' ` slave = 02 r' B1 g; e2 |; O' i. Y w
Command completed successfully.命令顺利执行完毕 8 ?4 _% k5 f" K; o3 l: d
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 : U' I1 B# I+ R
命令:/Config
4 l1 R* |! z, F$ V1 c, b2 \ 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。* R+ I& {6 B6 X& ?7 t. q" Q, n* d% k. ~
- o/ j [& A. D4 _, a2 C( u I
用法:
: W8 m2 [. Z/ r0 p dnscmd ServerName /Config [ZoneName |..AllZones] Property Value; }" k6 X9 E2 R' @% J9 ?
参数
' p- ?. q+ o* O ServerName :服务器名称,意义同上
# K' p/ p" ^2 n" M# J& s ZoneName:6 x% ~4 q4 \2 z/ s. ?
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 : m0 |( ^6 i. J* o# Z1 e! @
Property:
- V, T, o5 ~5 u0 _* w4 @ 这个参数是属性。这里所说的属性有:
6 n3 ^( w F! z# R8 s% H! p 与服务器有关的属性:例如:
( t) E$ ^/ m7 d0 X9 P. y" V5 Q$ W/EnableRegistryBoot$ E' R: }6 i) Z4 T
/RpcProtocol
$ x% D( M6 U a) l# W1 k4 f/LogLevel
) c1 U0 u/ x& p' h1 p5 I" y/EventlogLevel 等等 (限于篇幅未能全部列出)
2 s4 c8 m" F8 r& \% h与Zone 有关的属性,例如:* j5 |" M/ U+ C- V% H
/SecureSecondaries
C0 ~( s0 y0 P" e2 P- s$ X& p /AllowUpdate) a; c, g. I4 t# P0 m
/Aging* ]# V. c" E/ Y+ R8 h. T
/RefreshInterval Value0 V8 a; v6 q* A* ?
/NoRefreshInterval Value
5 F# W+ M) K5 K8 g3 t 属性值:& h9 l e: q6 _
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
8 Q' V& \/ K$ [& d& [4 j3 d从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。1 a, ?1 a! i1 F% X
命令: /Statistics* {$ {7 `1 Z% o- D; z( A
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
" T; p- c: y1 Y% m! S+ n 用法:
" g2 j( ]3 F7 c" E8 {8 U- W2 f% p- } dnscmd ServerName /Statistics [Filter|/Clear]
& h; P. K3 Q9 {) i 参数:- h* I! H c9 n" Y+ U0 y- {
ServerName
8 ?# a$ c( c! V$ x/ ` }) F( _5 k服务器名称,含义同上。" I1 T \' [ U: O: W3 N
可选参数介绍:" t9 f" W& S. V2 Y) J. K5 v
共有两个参数,每次只能使用其中的一个。
0 h. }* v" o1 O 1.过滤(Filter)# R3 }; `8 M N- }- c
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。* }5 `2 }1 ]7 I( H# a
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
' A& R, M# c% o 00000001 -- Time
( ^, Z J* x- A/ i 00000002 -- Query# O- u$ N4 g& A, ]7 ]
00000004 -- Query2" c. P" N- ~5 V
00000008 -- Recurse
6 U& f( d3 f' Z% I a! U 00000010 -- Master; R Z+ I) [* g$ B
00000020 -- Secondary
3 a/ x Y2 I, w7 v) D0 B 00000040 -- Wins
2 m/ U- T2 d1 w6 w+ t8 n/ j 00000100 -- Update
+ {# x, r0 S, F% h0 O 00000200 -- SkwanSec! y n5 R# j. z: j- P" y! Y3 U# n
00000400 -- Ds# x& e2 m* Z) [, X% Q
00010000 -- Memory
: J! E" F# [; A! I2 |: i 00100000 -- PacketMem
' b* O e6 Y1 x' @2 l m, _' ~8 q 00040000 -- Dbase
) [; m7 i2 S1 d1 m) Q5 I6 } 00080000 -- Records
2 |% p) `; g- |0 q/ S9 B) Y 00200000 -- NbstatMem
4 I: I4 ~$ d' a9 ]# h* C; x1 I1 f 2.清除 /Clear
+ C) y, \; N% q D 这个参数用来清除统计信息。
3 D9 c% o8 {, f% c6 F" j- }+ L 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
1 ]* A, }+ y! c$ }( S4 i/ T+ q" _( H9 W4 K" ]' a) d( O
) t: q* ^6 K8 t' e
3 w9 N5 `& S O9 L; P |