本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
# s! U* y, g% }% u: d, @1 t 命令: /Info # C h8 w2 A0 U, G& ?3 u) Y$ M% o
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。3 _. z: r2 n. Q. e* e& }
用法:) o; ?) z5 E+ J8 A' x% {
dnscmd ServerName /Info [Property]
8 _# z* w- s' n$ n1 o+ y2 y) C 参数:+ ?! ?+ @3 i, A3 G: J( o V% a
ServerName
( t/ U2 ]6 S: }; [2 h6 }$ S 服务器名称在上一篇中已经介绍过,此处省略。 4 h6 g! d2 B# I P# b) @* O$ J. _
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。0 C1 V% [' q0 n' o0 U
下面是该命令使用的一个比较完整的例子:
( o2 V |' p4 h: Z) S 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:4 R3 R/ m0 W$ ^: w( d `; V8 f
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
- p3 A( @ R9 V$ p+ k# P3 [$ {输出的信息:
% E, P3 h9 D* g W( hDNS Server 172.16.12.1 Information:" ~* s# K0 e @
C:\>dnscmd 172.16.12.1 /info
* C9 z! g4 o- o* KQuery result: 查询结果$ r8 r0 ^$ \5 z1 s$ C* ^
Server info: 服务器信息
: d$ H9 y0 d* m o, \5 Z ptr = 00074718 端口 b) q8 ]3 N$ D) G! g- z
server name = myserver.microsoft.com 服务器名称4 R5 e, l0 {4 n! o6 b
version = C2000005 版本* C( {& }( }9 N9 m. }
DS container = c DS“容器”
1 a+ z" U* T! Z1 O' _6 y Configuration: 配置信息 这些信息的含义请参考有关资料# {) H6 i" h6 ~! O. k/ C2 ]1 i
dwLogLevel = 00000000
8 H* N/ G: q1 M dwDebugLevel = 00000000
$ _% ~2 P5 r' J/ q0 Y' g* ]: q* z dwRpcProtocol = FFFFFFFF+ p7 i# Y( E+ T, ~$ M
dwNameCheckFlag = 00000002
! [$ A. s9 K) ~% i cAddressAnswerLimit = 0. H5 g# V! t8 ^
dwRecursionRetry = 3
5 d: {1 O4 w) H: t dwRecursionTimeout = 15: I1 O% {3 p* I% [) P7 K
dwDsPollingInterval = 300
0 ^3 Z# v5 N5 U+ r, F Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
- g6 H# k7 T" Y8 jfBootMethod = 3
- J5 [1 z1 m; r2 {3 ffAdminConfigured = 1 , R) Z, s' Y! y) _/ I, g
fAllowUpdate = 1 : f- k9 F* o" S9 _2 X6 g+ [$ A/ B
fDsAvailable = 1 6 R+ g+ |; U: @% P
fAutoReverseZones = 1 ! \1 I, V8 V7 N, E
fAutoCacheUpdate = 0
P% I) X' F; U4 l5 c, w7 p, dfSlave = 0
6 C) q9 Z* a* f& I+ EfNoRecursion = 0 6 w" H q0 \. \5 I5 y# J4 B9 `
fRoundRobin = 1
3 o8 t. M0 }! ]; w- b$ T, g5 HfLocalNetPriority = 1
% l2 |3 k+ N" _fStrictFileParsing = 0 @) x# l( V" t, t! e! K
fLooseWildcarding = 0 6 s) p8 v* b* `3 C4 N) P5 A9 t
fBindSecondaries = 1 ( u' _4 Y, @: @, @
fWriteAuthorityNs = 0 # i: U# ^2 [- Q- c# F
Aging Configuration: 8 U0 N5 A# J) s! [% R0 z$ a9 t
ScavengingInterval = 0 5 V0 i, G! w" h- {1 {) Y+ U
DefaultAgingState = 0
A* L2 b2 X' @. q8 ]$ F: Z. g* bDefaultRefreshInterval = 168
! _$ }5 \1 V$ q1 P8 X2 |1 lDefaultNoRefreshInterval = 168 6 L. n& b. f: V! T3 ^
ServerAddresses: & k& l/ B4 n2 w+ X2 W
Addr Count = 12 J( b* d1 M& l! e8 W8 K+ w& d
Addr[0] => 172.16.12.1( ^, e" z6 Z0 K) T4 U: ~1 P6 m
ListenAddresses:; w2 e6 p, W1 F8 G8 ^, o4 i" R
NULL IP Array.
0 j& r& a1 h7 D" f Forwarders: y3 L. N* T. u
Addr Count = 1
, I, q# I. F* K1 g- L/ @ Addr[0] => 172.16.4.34 K8 H+ M1 H6 M) F( b
forward timeout = 5: `0 n! Y) v/ C! e8 N" t
slave = 0
4 V. u7 X2 p' q4 j3 x' I, pCommand completed successfully.命令顺利执行完毕
4 V1 e r3 H: P5 I+ W# h 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
+ b3 @8 s+ h$ O" { G. V' k7 q 命令:/Config5 e4 N7 J$ ^& j- V9 D- W
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
/ z* D8 d- C2 y3 M: Y6 _2 @& ~3 {2 y1 T% e/ V _
用法: C; j# {7 J! H3 S* B: o5 Q1 x
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
7 Z/ P/ J5 g% G. o5 u! D: T 参数1 o' X. T; T% k! X4 t
ServerName :服务器名称,意义同上 ; d0 U% L' L# h5 U a0 v* e
ZoneName:
4 i6 r4 f' ]& ^4 ` 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
% o/ K4 w" k. u/ Z& l) _ Property: $ V2 Z' y; D; @
这个参数是属性。这里所说的属性有:+ D9 K' Q0 g, z
与服务器有关的属性:例如:
6 x& |0 ?, Y- Y) u% j% y/EnableRegistryBoot" v: F) G% ]5 A6 Y2 c
/RpcProtocol
6 z/ H+ f. F! M" b/LogLevel
- q: G) M1 U; F* `) Q2 @& k5 J/EventlogLevel 等等 (限于篇幅未能全部列出)4 [) @. t& Q' N( [
与Zone 有关的属性,例如:
. Q0 o$ d5 E3 T5 b: r" s1 t ~ /SecureSecondaries) M( O% ]7 g) a: R
/AllowUpdate% S9 F: m) w& ^' v) x( P8 J( e
/Aging
9 P- [: }/ E* c# C* g5 T0 M; s* r /RefreshInterval Value
3 b& X1 ^- W" h0 `2 @ /NoRefreshInterval Value
2 g; v0 v; `9 i; c' a4 x7 B 属性值:
! p! T q$ I' C) _. h& P, q 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。4 P+ k( Y( |9 W$ _3 s
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。' A9 g5 W e, S* o, g; Z
命令: /Statistics
0 G; e4 ?2 a' E& Y# J/ L, P 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。4 Y4 H/ o( s0 P2 i; x: t
用法:6 i* B2 |! l8 @% S
dnscmd ServerName /Statistics [Filter|/Clear]( T' F4 f4 y& b" Q
参数:( [; g$ K# R4 Q% L1 R' e+ {5 o
ServerName 6 M* B0 H* @3 R1 ~- a/ k
服务器名称,含义同上。
5 s8 e! N2 o3 o可选参数介绍:4 E- s# l2 v/ I+ h5 i
共有两个参数,每次只能使用其中的一个。" Y- u- Q! Y2 ?2 _3 Y
1.过滤(Filter)
+ T4 v# D4 h+ a E) [& M 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。; }7 b1 D2 n! M' b K+ k
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: - ~5 I3 C; ?/ n- {1 _. k) l
00000001 -- Time: \7 K6 E! ~8 d0 J2 ]4 H8 a5 _
00000002 -- Query
# w& T: C D2 X( }8 K, \7 O/ U 00000004 -- Query2, \! D( N& |+ j
00000008 -- Recurse5 x7 V7 S) K3 k
00000010 -- Master
' v: @( D" _- y 00000020 -- Secondary
+ E6 ]* C- F4 w( c+ o/ \; o% u! R 00000040 -- Wins
( ]4 H* ?1 k# n( d8 i, z 00000100 -- Update% ~& F Z C7 e, b" ?* }' _4 b
00000200 -- SkwanSec
' B7 U* T; I. b8 V 00000400 -- Ds
& S5 @# ~8 S: |& H* P 00010000 -- Memory8 I) P9 C, M) @( X
00100000 -- PacketMem
& x% J1 m3 T* Z \8 a# S 00040000 -- Dbase
! D3 X B9 ~. K& P5 a) V7 D' Y 00080000 -- Records
2 c/ D/ R% \+ l8 O1 M0 } 00200000 -- NbstatMem3 n; E& [3 R t3 _0 ?: r& U6 ^
2.清除 /Clear
- R" _2 j5 ]9 t- O4 W1 R 这个参数用来清除统计信息。; j L: M" U/ z- z, `
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。9 M& o0 r" p% ]* {$ U$ v* |
6 R4 M! i/ H: N! j
5 X. U7 B4 }) n8 w
2 j! _# K! ]+ I& i2 D
|