本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
; U! r" q2 f/ P8 F/ x B 命令: /Info
7 N8 l* }& I5 g z P q1 i 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。! Q) g' G) D: q W/ _
用法:
& l2 H" r# C- N0 ~* W dnscmd ServerName /Info [Property] $ U1 U9 G ^2 l% T9 O; D
参数:) @' P- Q8 j( d2 g
ServerName
& n( k* A Q( Y9 [ 服务器名称在上一篇中已经介绍过,此处省略。 9 d2 U# C: k; x0 U1 ~0 @# P$ ]6 b0 ^
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
% G7 ]5 H* u; u2 @1 s# I2 F 下面是该命令使用的一个比较完整的例子:
! A7 N$ x+ J1 K# m 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:; p7 X+ h% @& ^$ `
dnscmd 172.16.12.1 /info 只使用命令而不使用参数, M/ u0 p5 K, Y( G! m
输出的信息:
! P6 {# o; v. \* j- R! F kDNS Server 172.16.12.1 Information:
; \: E* K; H& o& UC:\>dnscmd 172.16.12.1 /info
1 D7 A0 ^; I7 f( ]: O1 ^% p! kQuery result: 查询结果
9 o# |6 {7 e8 D& LServer info: 服务器信息
$ H* m/ f; P( Y6 l ptr = 00074718 端口3 o5 Y' W. M. V
server name = myserver.microsoft.com 服务器名称, p) }. ^* _+ X2 i* j
version = C2000005 版本
% H5 K- }8 _7 a" @ DS container = c DS“容器”" N0 ?6 k" J; X9 w* }+ Y
Configuration: 配置信息 这些信息的含义请参考有关资料( g$ h; f* ?, x% Y3 l& i
dwLogLevel = 00000000
* \, t7 x$ K. S dwDebugLevel = 00000000& Y" `; V6 [- ], U6 r- {
dwRpcProtocol = FFFFFFFF
. e$ B7 X2 g' @* _8 m dwNameCheckFlag = 00000002
]* ^9 p) a3 e4 x cAddressAnswerLimit = 0
4 l T4 U" a- M$ T+ G$ c- Q dwRecursionRetry = 31 C L; T7 C6 K2 ]
dwRecursionTimeout = 15
! S' A$ j/ {0 k1 m8 x4 U% A dwDsPollingInterval = 300
. e7 Q/ {5 B' n0 S% W Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
/ C$ ^) n8 ~3 N# {& QfBootMethod = 3
4 h2 q3 U4 j/ r' C; \fAdminConfigured = 1
$ Q2 j, O |) a: X; |fAllowUpdate = 1 ; j% b/ ~8 \% Q$ J
fDsAvailable = 1
N" Q6 ^ V# P' \* B# QfAutoReverseZones = 1
1 |4 R; A2 e( j8 T: rfAutoCacheUpdate = 0 4 W5 [9 B/ t; k1 i+ @# L
fSlave = 0 6 D0 Y. h) [0 t8 y) }
fNoRecursion = 0
. H8 y' X- z3 L" {' HfRoundRobin = 1
3 K0 B- @3 B, \% p) ?fLocalNetPriority = 1
8 H9 J6 Y5 o0 o FfStrictFileParsing = 0 # w* X/ k; g/ t
fLooseWildcarding = 0 % a8 p# G9 J5 i' I2 W& I$ x; k
fBindSecondaries = 1
- q7 g( U) d7 g: O% z8 B0 Z- T: y5 h! RfWriteAuthorityNs = 0
- O l8 l J" d6 ^Aging Configuration: . d4 E9 i9 y0 ^. ~) Q& e6 v! S( E
ScavengingInterval = 0 3 s' o( ?" V6 n0 v) W
DefaultAgingState = 0
$ k8 u7 b4 l9 M/ A6 a0 q% S; @. `DefaultRefreshInterval = 168
, O6 \# h# u: [0 m. VDefaultNoRefreshInterval = 168
: X; G0 J/ [0 y- m+ m ServerAddresses: / b5 Q/ N7 m- i9 i6 p
Addr Count = 1, e' ^3 D5 t l7 z
Addr[0] => 172.16.12.1
* `! n; Z: J1 e ListenAddresses:
7 f3 c1 X( d4 |+ c' x NULL IP Array.
# y0 e- {& v3 H' b Forwarders:
2 c% k5 E$ g- @( L Addr Count = 1
7 q' ~6 h8 p/ E2 ^ Addr[0] => 172.16.4.3
- O8 C9 F# S" [# s1 h9 [ forward timeout = 5
. I& t5 m+ n5 L4 M; Y4 ^6 F slave = 0
. z: w+ A5 @) u& Y. K8 eCommand completed successfully.命令顺利执行完毕
" Q' x5 B: H7 g# F& k* U2 o 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
! X9 o! h M; S, E% s 命令:/Config
: O1 i8 {0 c; f& ~$ M& Q& s2 E2 o 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。; }$ m4 X/ g9 e: @, m5 t# U
% D t% w0 X' G) x: g
用法:
i8 q s( B/ l( o, K/ S5 X. o dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
+ J' W- e. v( B 参数3 @% b |% N R. B
ServerName :服务器名称,意义同上 % p. l& A o) h. B; e
ZoneName:9 q! d4 k5 c! `* G7 H0 n
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 + X* ~& n3 Y5 _# I# J _1 r
Property:
9 X% e4 O8 g- t( E/ q: H 这个参数是属性。这里所说的属性有:
1 Y/ X% {- b: e* r 与服务器有关的属性:例如:
7 t' U& W$ K; m, u7 `/EnableRegistryBoot& H2 J9 U0 }5 e- Q- f% \
/RpcProtocol9 S0 P7 h* S: Z" D# r# r5 m. r
/LogLevel* Q6 b; y/ g4 V, j0 h9 a
/EventlogLevel 等等 (限于篇幅未能全部列出)4 U) Y1 g0 W, i5 g% f
与Zone 有关的属性,例如:( I% J# z' A3 r) ]; Q
/SecureSecondaries e' A/ Z* r, {' Z# V) S/ C
/AllowUpdate" V& Y* T$ d& ^! B+ \5 `9 [+ ?
/Aging
# J* Y3 j# o0 T1 p D+ l( K /RefreshInterval Value
3 y0 \1 d: r. o1 b; y, Z /NoRefreshInterval Value9 `% I2 Y A+ |5 E3 ?. c/ x2 G
属性值:
) x' Y- C! L: m6 S 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。& @5 l+ B: h; ^: x1 Z' i" _
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。" l( y C9 c. ~
命令: /Statistics
# t+ P$ H$ x, [. \5 L5 m% z 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
6 \) A# T$ ], X+ l 用法:
9 W; k% n* v y9 J# l. @ dnscmd ServerName /Statistics [Filter|/Clear]- f, u7 s, E% P% a9 W! d7 ~# H) O
参数:
/ j6 B; `: L; `* G1 v: UServerName 2 Q$ i9 v1 @- g5 s! v2 [
服务器名称,含义同上。
4 H/ o7 a' O* i; G; L) J' [5 R可选参数介绍:/ m3 n3 p3 |3 W% `2 n) f
共有两个参数,每次只能使用其中的一个。; E* N! H& e8 ?8 f
1.过滤(Filter)
0 j5 h7 M& L3 a" z }# h( s; y* U: Z. Z9 F 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。$ R0 @& D" Z# [0 [- Y3 E a k. \ E& e# E
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 8 V) y* B$ `1 @
00000001 -- Time e# s! H1 v8 z5 D6 l7 k
00000002 -- Query8 \! a4 d8 n: h+ v4 L( g
00000004 -- Query26 r. ^" ~; |' T( u* U
00000008 -- Recurse5 P% ?' B0 I. t' D Z% k: |2 a
00000010 -- Master
X. Z, o% n0 V1 u8 P; i 00000020 -- Secondary
! W0 H$ o6 J! D* z, C 00000040 -- Wins
% o2 O; D2 O; g- Q8 e$ Y 00000100 -- Update i- P$ t6 \' E7 U0 B
00000200 -- SkwanSec; ]) o7 u# Q$ m5 I g! \) c, r6 a
00000400 -- Ds$ Y3 g! B" }. p p4 @
00010000 -- Memory T3 }- C3 k/ M
00100000 -- PacketMem& p; G8 G w: v
00040000 -- Dbase
) c9 C6 N) V% A1 d3 y+ g 00080000 -- Records5 V) C( d$ `+ j8 n5 H
00200000 -- NbstatMem
+ p; I( Y! T% ~& a 2.清除 /Clear ! R, t6 O0 J4 h- s' n' S
这个参数用来清除统计信息。
2 R' |; \$ r0 f% N 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。7 `4 ] Y: O+ g6 X4 K
- ~. B- U3 G* S1 U$ w
$ ~, p# Q6 k8 v5 v
0 S% C2 d3 S0 o
|