本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。. P8 \* G/ G! m" Y. @* M+ B
命令: /Info + n, j5 _* j6 {7 s
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。: @- P' E' L9 a' q4 @) g* g x0 y- i
用法:. t# S' _9 ^; t- r/ l2 X8 c
dnscmd ServerName /Info [Property]
& m5 @" x6 u$ c9 n$ t 参数:0 ]7 C4 D6 }* o* Q) [
ServerName
& h1 c0 j9 M, V+ u, B 服务器名称在上一篇中已经介绍过,此处省略。
! {0 c! y/ g4 h9 ?, `2 A [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
' h7 p' ^4 ^& K2 B 下面是该命令使用的一个比较完整的例子:
* J, H) i5 ]- f4 z 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
q4 p9 k9 K& s% H, vdnscmd 172.16.12.1 /info 只使用命令而不使用参数4 D F* i: e0 a5 h
输出的信息:
E, P5 Z5 Q# DDNS Server 172.16.12.1 Information:! t" C% T* U& o# ~; x- f( X
C:\>dnscmd 172.16.12.1 /info# R% c D2 W# ~ s
Query result: 查询结果
! b6 d5 Y; t1 o- I& F+ A. [. s, q; LServer info: 服务器信息- S; ~. b( G6 E) f
ptr = 00074718 端口; Y, ?) I' O- x2 s9 ?, q" P
server name = myserver.microsoft.com 服务器名称- `" y8 h* e: q. v+ c1 Z7 d, b
version = C2000005 版本: w9 J1 D0 ~4 \1 M5 r+ r7 i
DS container = c DS“容器”, N( q7 B, Y5 I* g1 J
Configuration: 配置信息 这些信息的含义请参考有关资料
5 P4 g* D6 C+ ~8 i- h4 o dwLogLevel = 00000000
7 }) R4 L6 w+ b9 {3 Z dwDebugLevel = 00000000. i/ ^/ |" _ z3 E% l9 c
dwRpcProtocol = FFFFFFFF
+ ?. k8 P p9 h; g8 n* t- O2 K dwNameCheckFlag = 000000028 ?5 F+ I1 O0 E8 n. H5 q
cAddressAnswerLimit = 0& U$ b2 n' X" E; u5 ]! k2 z0 P8 k
dwRecursionRetry = 3 q( e+ j9 u H7 Q3 Z. Q) U" _
dwRecursionTimeout = 15
O/ D& s+ @. c1 A! |: c1 B* F# o dwDsPollingInterval = 3008 P1 l( Q! g- T( V+ N) ~# J, c
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料5 K% i2 ?4 s s- y& R
fBootMethod = 3
* D0 Y1 m: y! ^2 U) kfAdminConfigured = 1 0 b5 n* d! G% ]( R
fAllowUpdate = 1
" L7 B+ M0 F( g: j+ d" W- dfDsAvailable = 1 F% a8 B# W3 B! q" p* y4 \
fAutoReverseZones = 1 - q5 H v0 n1 p2 g" D/ v
fAutoCacheUpdate = 0 ( y, P: W1 h9 R4 u2 w6 o/ Z% X
fSlave = 0 $ B2 q0 K+ t5 n7 K( D v* [
fNoRecursion = 0
" M+ \( A* r8 sfRoundRobin = 1
& H) z- u- s' s( n; ffLocalNetPriority = 1
5 N! W5 c7 Z+ J: J2 Z. rfStrictFileParsing = 0 * V4 ]8 h! o# Z( `3 N2 j$ }
fLooseWildcarding = 0 : Z3 z: \, W; Y3 w6 g4 N( e5 K
fBindSecondaries = 1
8 d+ N( W5 H0 X2 j- B" ffWriteAuthorityNs = 0 3 k* L5 z8 a+ P$ g i; J
Aging Configuration: . p( o+ d4 _/ ]4 E. O
ScavengingInterval = 0
/ S0 c$ ^1 j6 s3 y HDefaultAgingState = 0 , N8 }+ \& t' [0 j' [+ g9 b$ J
DefaultRefreshInterval = 168
3 ~- c; {2 a# M4 f1 RDefaultNoRefreshInterval = 168 & T S, A) ?/ ]5 F4 {
ServerAddresses:
' b. \7 s; Y8 C1 z8 L Addr Count = 1
" U. W; b2 [. ?/ U# T Addr[0] => 172.16.12.1
9 l3 O9 R# {$ l- g4 l ListenAddresses:
! C7 C- z+ r* t( T4 R, Y3 a* Y NULL IP Array.. L6 ~) ]4 U: a V/ w: }# z
Forwarders:
4 `1 O$ E6 V% I, m2 q8 r8 h. p% ?* X# f Addr Count = 1
) O+ t% ^+ {7 ` E8 b Addr[0] => 172.16.4.3$ A5 o' o5 `9 v) a1 s+ f. _- o- r
forward timeout = 5
1 E1 h a* I5 P- p4 H% U5 B slave = 0
& r& a( W( p1 jCommand completed successfully.命令顺利执行完毕
, t5 R$ i* C' m+ z 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
; @: _' A& {+ H 命令:/Config, o3 h& A$ P* B
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。% [/ Y- T. ^( E v9 F& r
& ~5 a; g" D3 Q$ z) H! B
用法:
) w5 u/ s* C( P% o) }- u dnscmd ServerName /Config [ZoneName |..AllZones] Property Value: ~. k& Q5 X- p) B1 ~+ B& J
参数
: X6 E) T ]& ~9 S9 t B ServerName :服务器名称,意义同上 & O: c; }0 ]0 k6 ^
ZoneName:
7 [" K" ]& a: T9 A1 l 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 $ u$ Z* y( Y) a3 j
Property: 2 m4 V D% v- S& n# u0 Y& H
这个参数是属性。这里所说的属性有:
9 e; m9 v$ U7 W( U 与服务器有关的属性:例如:
& s# o2 Z, N- J7 t0 R3 ^( f/EnableRegistryBoot
2 a# \$ _4 l1 T5 E: A$ ~6 z2 i/RpcProtocol
$ a0 Z6 i" q4 R. W$ C/LogLevel
* u7 _+ w b' T/EventlogLevel 等等 (限于篇幅未能全部列出)
6 Z- J) w* d+ w. H% R与Zone 有关的属性,例如:
) A, b! P% a7 x" E /SecureSecondaries
# E$ S2 k+ V3 ^ /AllowUpdate
* {) C. s, W$ M7 V! j3 C4 @ /Aging
. P/ \& U" D4 ~" b% u /RefreshInterval Value
( q0 V, [7 W7 _8 E+ F# t /NoRefreshInterval Value3 a) a) }$ t- i
属性值:
( W7 v. F0 E* k: V2 n 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
% F' S% N) K. J- T% |( U从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。 v* C; y ?) D) n
命令: /Statistics' \/ h7 \2 _2 P9 D0 H* o
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
+ {9 x: W) G: Y- a, {: m0 x 用法:
# f/ ]* E! [6 R: Q6 A dnscmd ServerName /Statistics [Filter|/Clear]
. i5 F( G4 G0 n" h9 J) f" R 参数:
$ A" |& M4 c& N0 L/ O5 M lServerName ( k: w% ~9 O5 N5 b- q* h: v. u3 i
服务器名称,含义同上。6 p N& Y1 p# N4 y
可选参数介绍:
. x: N% T. |$ Y共有两个参数,每次只能使用其中的一个。& g I! K, }% q5 U* X
1.过滤(Filter)2 Y" O6 E: b+ f! g/ O
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。" w9 N) P4 X6 t5 m- ^' O
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
- _& ]+ ~3 c) K/ _8 ~4 s 00000001 -- Time( H$ |3 @) `6 Q4 i
00000002 -- Query
, L g' U3 J' s9 ^8 G, v. f2 }% S" i 00000004 -- Query2
( H3 c" G' f! K( ^" K9 ? 00000008 -- Recurse
* I8 v- W% e; J ?' S2 b 00000010 -- Master
- E, j7 y* K( S- d# U1 w% |% P 00000020 -- Secondary' g) v7 A4 s3 P+ }; Y$ \7 T: c
00000040 -- Wins
2 z3 ^; X: T2 q4 j" y: ^ 00000100 -- Update3 }/ f0 ?, a! i+ M% A. f: b1 Q& k
00000200 -- SkwanSec$ v! p- E5 Z2 i1 \% X8 |( ]
00000400 -- Ds
3 p* N8 r$ F; Q 00010000 -- Memory
4 y3 h% y* t) J/ v4 o 00100000 -- PacketMem, P0 `! v4 h1 H4 l
00040000 -- Dbase
. u9 ]1 o2 `+ Q1 X 00080000 -- Records
+ m( C! N2 T- l, v7 q0 k6 P 00200000 -- NbstatMem
1 Z9 R+ H, _) b6 G3 j+ Q2 \ 2.清除 /Clear
6 _5 E3 O8 H* ^1 y% t8 [ 这个参数用来清除统计信息。+ _% \$ E. i$ i! `# [% B- _
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。! N" v2 O- w1 s- y
2 \ U- l w& D8 n2 ?/ F, i
9 L9 q9 u$ L7 ^# G/ m
" O& Q" H$ R5 q |