本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
! \1 A* j. I) G3 Q2 t% m4 [/ A 命令: /Info
1 z9 C! B$ {% z) m! l0 {2 w8 W 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
4 F7 V# v3 |/ W9 {+ n3 ~# t1 m 用法:# r, J: @6 w7 R* D2 ~1 H
dnscmd ServerName /Info [Property] 3 P% n& y9 ~- s; W
参数:
3 f& \( y: N$ ~ ServerName + w5 R! r! m, i1 C& _! c" R
服务器名称在上一篇中已经介绍过,此处省略。 2 E! ~9 V0 ^$ z% v j6 `# R |5 I4 Z
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。( M0 _8 ~2 J: N1 W
下面是该命令使用的一个比较完整的例子:' S& c4 g" {* p: {7 T3 j# I
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:0 y. _% i$ A0 o7 I. h1 c, _
dnscmd 172.16.12.1 /info 只使用命令而不使用参数) E6 @; i; s2 Z; ]* a
输出的信息:
* e$ H6 @, W5 z6 [6 U1 kDNS Server 172.16.12.1 Information:
/ b c) a# Q' r* j l4 YC:\>dnscmd 172.16.12.1 /info
2 _ R4 |1 C" ^7 X% Y) C2 i* H5 d5 lQuery result: 查询结果
- l7 ]/ m- I: j" ]9 s% X4 L4 VServer info: 服务器信息
3 c- G/ s8 B6 u8 h$ b$ ?% L ptr = 00074718 端口
- D5 ?# {3 x' V* T server name = myserver.microsoft.com 服务器名称+ @# d. ^8 v( i- u2 S/ T; G
version = C2000005 版本
) O5 O3 A- _8 X* _ DS container = c DS“容器”
9 k/ D$ f% F# c* j! t4 a7 e. f2 S9 V Configuration: 配置信息 这些信息的含义请参考有关资料1 `% t4 X4 u5 Y7 w
dwLogLevel = 000000006 Y& i# T# R0 p" }! i, I
dwDebugLevel = 000000008 f) K, e, \+ U( W2 V5 A
dwRpcProtocol = FFFFFFFF
2 E3 |& R& V4 e dwNameCheckFlag = 000000022 G, @ \, X6 z. D
cAddressAnswerLimit = 0; B/ ?( A( G. A: W8 ^
dwRecursionRetry = 38 E3 W- v, E, O8 U+ j6 ]! n
dwRecursionTimeout = 15/ K% T/ M# T; L* i% h
dwDsPollingInterval = 3008 P4 X: A V1 S2 F
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料! `: N: j* h, |8 b( @7 @6 e' k
fBootMethod = 3
! O9 R2 [% t( u1 A7 E3 zfAdminConfigured = 1 ) d' n! n, a1 N! U
fAllowUpdate = 1
. ?5 ]7 M* S' vfDsAvailable = 1
" T A9 b; O# ]1 _fAutoReverseZones = 1
8 Z1 _5 \1 B* {; g5 N8 ufAutoCacheUpdate = 0 3 n% E) Y6 W4 B" Y5 E$ z# @
fSlave = 0
1 o9 w# J9 c. k6 L/ UfNoRecursion = 0
/ h w* K8 J+ X" M8 Q. t, o2 FfRoundRobin = 1
0 W; V% o/ s9 a- }1 }fLocalNetPriority = 1
8 S5 R9 S" D" g# MfStrictFileParsing = 0 4 m6 H" J# U0 r4 ^5 w* ]1 e$ B
fLooseWildcarding = 0
1 @( s+ {; I8 u( T/ Y7 t# o: \fBindSecondaries = 1 0 K6 \9 `2 Z7 d; ~; i- H5 m5 F
fWriteAuthorityNs = 0 7 [" u' c, \; x* N( F5 P- |
Aging Configuration: : h# s% H) V6 G( B- w
ScavengingInterval = 0
4 @8 A5 }1 Q! l2 RDefaultAgingState = 0 ) `1 G+ M; n/ c
DefaultRefreshInterval = 168 - t0 V( A, a0 P4 ?: M- N
DefaultNoRefreshInterval = 168 8 R7 W! s6 p3 W5 D1 b# x4 e
ServerAddresses:
! s& N# M" I. i% g# k& X } Addr Count = 1% ?* d# W0 r; \8 P; `6 E: ]
Addr[0] => 172.16.12.1
9 u- [4 y4 [4 L2 R6 y+ U ListenAddresses:
5 I8 h ?4 f+ a5 H0 E$ @ NULL IP Array.9 T; d! W* o O" c1 ^
Forwarders:8 y$ y9 d, g- U$ l
Addr Count = 1
1 d2 U* }" D5 L, B& c9 ` Addr[0] => 172.16.4.3
- L; L% w. p% N2 I; ]8 Q forward timeout = 5
y% k% [$ T9 ]" @. N% A8 Q slave = 08 x6 P6 A+ G# o% B
Command completed successfully.命令顺利执行完毕
/ S9 m! @& m* S* f: d. D 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
4 @3 n: @) m m2 B 命令:/Config
' s7 d! b$ }' x 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
6 h' G9 A- P4 [" K, M2 Q0 I) ~, S
6 P5 j) ^" I9 y! m# { 用法:; w0 D4 j i! q
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
! r/ Z" C! ]) v9 L! u" b 参数& @6 M9 _, I# c$ D+ v' _( v: [0 C
ServerName :服务器名称,意义同上
* f, Y9 b1 ?$ E" @( k ZoneName: _0 l9 O. _+ J
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
+ ^1 o! B, X$ ]! m* t" D- E Property:
$ ~( S# ]5 l+ y9 u 这个参数是属性。这里所说的属性有:
1 x! R# t( V/ p% G 与服务器有关的属性:例如:
, V, m! d, a' ^3 |" W# c# ]/EnableRegistryBoot
( J* s9 @9 z6 G4 Z$ D: a! c/RpcProtocol! s3 ?/ v7 b1 l& v1 c3 [5 E" `% w
/LogLevel+ w' P0 M$ F' m9 {4 d; U: B4 x
/EventlogLevel 等等 (限于篇幅未能全部列出)
4 s2 o$ ?2 [; w1 M3 R% [8 L8 ?与Zone 有关的属性,例如:5 T* b% }% U. f" D9 ^1 {& d
/SecureSecondaries
4 R8 o1 _0 p, l& l( C! Y /AllowUpdate
' T" o) f2 U4 v /Aging/ P) y! g: B, u2 c( X/ `' c
/RefreshInterval Value
+ E1 u6 r0 ~ C& w# r /NoRefreshInterval Value* n: \# u* k1 i8 y# z
属性值:6 q* q _ b0 p% P. L+ D9 `
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
! r, z# i/ o7 l [5 Q" K' J4 t) Y& X从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。7 E0 k9 H: L* n2 ]' }5 h2 W
命令: /Statistics- C3 a. O2 N& G- Z1 z# Y
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
# v: `) Q. ?2 J8 {& x: O 用法:
0 d7 c0 ]( f7 t# g dnscmd ServerName /Statistics [Filter|/Clear]
! j: O; a; z" }! V1 i 参数:
i. y1 Q8 S1 O* ]8 E+ ^0 iServerName 8 b3 z6 P$ O( `6 Z1 u
服务器名称,含义同上。
( O+ J5 B# g+ I1 E可选参数介绍:
, j% R* I7 A3 B共有两个参数,每次只能使用其中的一个。- `9 f; q3 Y: R7 `, T; Q8 T. f
1.过滤(Filter)
5 o+ E- d4 `9 e 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。3 I- Q1 [$ A! ?1 Z6 ~
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 5 f# H* m. n& d& ~$ l
00000001 -- Time
( I& g; J8 i7 H+ S" | 00000002 -- Query
d% n8 U. @9 L) Y7 q+ Q2 M3 W 00000004 -- Query2
. E1 T4 O' A ?: m* { 00000008 -- Recurse
$ S4 h8 w* R# k9 F* h 00000010 -- Master
: a% Z5 P% N6 j5 Y3 `! Q2 r 00000020 -- Secondary
3 Y9 S% V* {2 H7 e ~# G9 r, y& I6 l { 00000040 -- Wins
/ e: c6 ?0 v7 W8 C 00000100 -- Update
6 q6 ~( Q4 a& {; Q 00000200 -- SkwanSec
3 i7 ]( f6 l0 o- l 00000400 -- Ds
" p2 i" F4 p' T 00010000 -- Memory
. I+ n; y2 b2 W7 [$ L 00100000 -- PacketMem
3 [! C0 p0 ]+ f$ b+ t* `- | 00040000 -- Dbase+ f# }, v+ W9 _1 x( S) m& q9 m
00080000 -- Records
/ n) O2 k1 {. {7 Y& \: V. l 00200000 -- NbstatMem
* _; t! i2 Z$ Q0 \ 2.清除 /Clear 8 i" n/ V+ s* m" n& Y/ [
这个参数用来清除统计信息。
$ W1 g3 G( ^: ]7 I" }" q 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。; F3 x4 a* N2 }9 Q& |
$ j+ }) @) }9 G, N7 v9 n
5 q! n+ a: @2 L# m2 {
P/ }0 O1 ~6 t4 [$ w: F) M |