本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。" j0 K6 J6 M$ A# p& I7 {
命令: /Info ! W. {/ z! ]& y6 `% p6 z
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
9 m5 X2 A+ W6 r; M5 Y# k" U# Q' E 用法:# l, i, h. x+ t; o8 F3 q7 {
dnscmd ServerName /Info [Property] ) M" m2 F9 C5 {) B- u& [
参数:
) i# J$ C7 B* } ServerName
/ E, S3 ~1 A' \! U' Z1 T( M 服务器名称在上一篇中已经介绍过,此处省略。 & D# l3 e& h* Y4 u" R" u
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
9 @1 g: }! u' a 下面是该命令使用的一个比较完整的例子:
1 ~7 w7 w% c9 k3 x' L 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:+ W: `! E5 U; I6 B8 n7 r1 Z
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
, F# ?1 v5 H' ]% o6 ~4 w) c输出的信息:* K! c/ |3 f, C
DNS Server 172.16.12.1 Information:9 c& D3 c3 l0 s+ D
C:\>dnscmd 172.16.12.1 /info
9 s5 V6 p% e5 F9 |Query result: 查询结果
! y$ o( ?& k% J* ^/ p) A" bServer info: 服务器信息5 }3 D$ @. q0 {8 d# G
ptr = 00074718 端口5 ?8 O7 S. F1 o; e) ]
server name = myserver.microsoft.com 服务器名称' G& P: x; h8 V s- D+ Q$ A, x! B
version = C2000005 版本
- n: A8 D# {/ b& J DS container = c DS“容器”
2 a+ @; e. z# v b7 ~ Configuration: 配置信息 这些信息的含义请参考有关资料
8 A6 D. N# r7 j1 y dwLogLevel = 00000000# k1 X4 S8 @2 g% y: c
dwDebugLevel = 00000000
+ r( [$ A& O; z; Z% V3 Y dwRpcProtocol = FFFFFFFF# n- z# l, \; Y2 g5 X% ~9 P# V
dwNameCheckFlag = 00000002# P* \+ k" L) u+ N
cAddressAnswerLimit = 0
- z' { k7 p6 F5 T dwRecursionRetry = 3
# O: y2 v* t) Q- i( A dwRecursionTimeout = 15) @! K7 y- N( S- y+ H
dwDsPollingInterval = 300) x$ F" \ A1 i. j
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料' S( G. ?! i! R5 W4 j
fBootMethod = 3
- }# ]8 K' z& U# Y7 UfAdminConfigured = 1
* S. Q: Q$ f& [; {fAllowUpdate = 1 9 Q: D; i$ ? c% F4 b
fDsAvailable = 1 " n" L. X0 @) |; l4 Y
fAutoReverseZones = 1
# V7 X: \. ^5 E! e& @' N& WfAutoCacheUpdate = 0 8 o- l. i0 }- \
fSlave = 0
) K# [0 D+ I% w+ `3 kfNoRecursion = 0 ) i5 f& O. _$ E, {
fRoundRobin = 1
" [3 `; Q+ X* A. X8 ?) {) JfLocalNetPriority = 1
4 G9 W8 R& r S& SfStrictFileParsing = 0 2 S) u W. `+ @* R* \+ D( m3 D. r) N
fLooseWildcarding = 0 W/ T( y6 w5 |* w; y( b) u
fBindSecondaries = 1 , D8 c( ]/ B2 p3 ]" q% w) w; |
fWriteAuthorityNs = 0 ) E+ e! G8 O+ U9 W0 R' j
Aging Configuration:
, Q* ^1 ?6 i' N7 N! UScavengingInterval = 0 0 J& J" i e0 N5 R. Q
DefaultAgingState = 0
- \9 i ]4 A$ `: P' XDefaultRefreshInterval = 168 : @" Z O3 O% G8 N& j; U& h1 h3 }
DefaultNoRefreshInterval = 168 ) q9 [2 |1 ~ f) ]% X0 {
ServerAddresses:
( @2 I3 g+ J$ D) I, ?! d6 ? Addr Count = 19 ?2 Y6 B' }2 E% B$ j
Addr[0] => 172.16.12.1
4 ]$ B/ B6 X) u$ ^8 ~! \5 \7 ]0 u ListenAddresses:
* G4 s! a9 T2 e7 @ NULL IP Array.
9 n9 I/ ~* H# \ Forwarders:' d3 v$ X8 ?3 b5 ~+ g" H
Addr Count = 17 ^' ]! `7 X5 H) `. B6 T
Addr[0] => 172.16.4.3
& M0 @- n1 I8 B& w# w+ ~ forward timeout = 51 P Q: C- ~5 j* n# h. o* v* @
slave = 0! v) S" ~) O) Y& E5 ]/ g
Command completed successfully.命令顺利执行完毕
6 o7 @; h- f2 l& o8 M5 Z 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 : v3 D# ^$ H( t1 L' F+ f
命令:/Config$ A v$ \! j2 }
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
3 R( Y* B4 S7 N9 A1 H/ R$ C5 l9 C2 x( ^
用法:
& T& k4 M+ Y" b w( \ dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
1 i6 E# }) x7 A" y) d 参数
( B$ C' f; T8 r; r ServerName :服务器名称,意义同上
1 ^( l( n8 o' f+ x8 X7 Q( c ZoneName:
/ e! T7 c" l4 @/ q" l; | 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
A- j; p5 y0 Y* c: K, ?) O Property: / ?, G( v3 `8 t4 @, `( c
这个参数是属性。这里所说的属性有:
" t1 Z: f2 `* J/ j6 t/ D; ` 与服务器有关的属性:例如:9 G0 V* T Q2 D7 T2 j) x
/EnableRegistryBoot
5 k! M" _; W0 C: ]" I7 b/RpcProtocol
4 S/ ~4 M, e. ?. L( i& b/ @/LogLevel, ^2 V# X. k/ z. L. G; E
/EventlogLevel 等等 (限于篇幅未能全部列出)
1 y- S( O6 ~" M4 @& Q4 Y7 Y- P与Zone 有关的属性,例如:
: I, A( c1 d z& c, ? F /SecureSecondaries3 I7 B% F. ?! n0 p/ q
/AllowUpdate) s# n% \" T) m X
/Aging8 |5 G& ~8 G2 n5 u1 ?0 G
/RefreshInterval Value
; _) b8 T" v4 _: ]) B8 \" Q& L /NoRefreshInterval Value
+ |: y! O) ~' f x# n; m 属性值:
% b2 I( Y9 z& Q& v4 U1 L 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。8 p+ S0 n5 B1 \# M7 S
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。& I! Y) L4 S7 n& z# H, W
命令: /Statistics
9 b1 a. z4 ?( V( w' A2 j 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。( ]) y6 p% H: E* W: B" M% f% n
用法:, b1 y0 A0 f) Z7 o: a4 g4 L- K+ s! R9 k
dnscmd ServerName /Statistics [Filter|/Clear]) r' I" [* a+ q0 v/ g
参数:& e. g" ~, ] s* `% J
ServerName
: N+ I: r0 V' @: t: E4 ~& U5 Z服务器名称,含义同上。+ X$ u$ M9 Y" n: W5 R) f; O7 K
可选参数介绍:
1 C- }! s* a( u, f& z% T共有两个参数,每次只能使用其中的一个。
3 w3 h) m B6 V1 j" `3 } 1.过滤(Filter)+ ]0 r5 a; h8 B) V- k0 e
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
/ E8 }) J: ?' x1 J, {可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
+ f3 A4 j3 g( Z0 {% q3 r, E# K 00000001 -- Time
7 [7 b# X' ?0 {9 _ 00000002 -- Query
1 n w/ l) y3 N @- s: x) S 00000004 -- Query23 c2 F6 \8 V; C* j) {7 z
00000008 -- Recurse
# t" `( [$ r. k# Y: N 00000010 -- Master! p. I, D" g0 x4 Z' r
00000020 -- Secondary
0 J, n; o* f" q! w$ m* Z+ [ 00000040 -- Wins
; T {8 g3 N' N) i7 k 00000100 -- Update4 b( o5 ]3 o. o' E
00000200 -- SkwanSec
' s( q, ~0 t% C# H q1 { 00000400 -- Ds1 V! ~( l7 \% h
00010000 -- Memory
, p9 e$ C( G. ~' Q, n2 O 00100000 -- PacketMem
+ K1 h9 w6 ?3 Z$ r6 U- i8 P- ? 00040000 -- Dbase, f" F; h; O# G, \% a: p0 t
00080000 -- Records J* N3 O. S+ B( _# p6 P' Y( e! Z
00200000 -- NbstatMem
6 e5 t# @8 J0 H! ~ J 2.清除 /Clear . b+ m6 i& A3 k
这个参数用来清除统计信息。
( V) p0 @1 M. B# _9 e% C) i 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。! O' Y. ?0 d1 J' N- x" D1 x. B3 |( t
3 {4 B) g) R9 n1 k
6 _( p g* ]8 L/ N H1 ^
5 ]7 a0 U# x) A5 ? |