本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
, @$ I7 j, y# c* [6 Y; \. w 命令: /Info ; A5 O8 y7 K3 J; H4 a! c
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
$ s, n( t; Y4 Y: i4 f1 i 用法:
7 \/ H7 e5 X+ i# a7 G! \ dnscmd ServerName /Info [Property] . ?# J( @7 v" _0 H3 D7 b* u' ]
参数:
. [) e* k+ I& A4 k8 {3 F- a ServerName ; ?9 Y5 ^% ]; B5 I2 U T
服务器名称在上一篇中已经介绍过,此处省略。 6 D7 ^" T5 h, S% w/ G3 e! g: d
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。3 [+ A# A8 u8 g; l
下面是该命令使用的一个比较完整的例子:. K+ q0 B' M9 h1 [2 s
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
% G5 u8 H* ~9 [! D" Z0 Y( o bdnscmd 172.16.12.1 /info 只使用命令而不使用参数
: T5 ~1 T: b/ B5 ?# T, N输出的信息:
; N; Y+ S7 j% E1 {& S8 N3 c; U" U5 oDNS Server 172.16.12.1 Information:
- x" S+ H/ B& n" k" ^5 tC:\>dnscmd 172.16.12.1 /info
4 Y, c3 ?6 i' E9 c- G/ {, wQuery result: 查询结果
' _# z1 [ v3 Q# cServer info: 服务器信息; b5 I! C; U- D& Y) M
ptr = 00074718 端口6 u! g9 q7 e+ z3 ^
server name = myserver.microsoft.com 服务器名称9 x6 C) T4 M/ ~/ y1 b8 R/ m
version = C2000005 版本
: y# Y4 A/ Y9 u% _' J2 { DS container = c DS“容器”
3 G/ o: S' c# M2 D Configuration: 配置信息 这些信息的含义请参考有关资料
, N, x7 Z* E/ n: u: L! Z6 c" z dwLogLevel = 00000000
) O7 c. K0 B5 {# V7 F% F dwDebugLevel = 00000000
3 I. `1 i4 k6 Q' G) Q5 @9 t. X dwRpcProtocol = FFFFFFFF: o2 ]" m- ]" }1 _, ]4 y$ a/ _
dwNameCheckFlag = 00000002
$ e; l* c2 Y; [/ H cAddressAnswerLimit = 05 s6 k' E2 |$ x3 x {, j- J9 L
dwRecursionRetry = 3
$ ~: V4 T4 }5 l( ^# [; s dwRecursionTimeout = 15+ G( T; z& |. D8 W
dwDsPollingInterval = 3005 a0 H$ |0 m9 |( J7 u: f
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料3 N9 I. U) D; R+ E0 e) W2 K1 h
fBootMethod = 3 ' Z) r2 H) l% [5 Y9 r! V! f0 {
fAdminConfigured = 1 ( ?. C& S1 v: }* |
fAllowUpdate = 1
8 b( v# G) w( f. e- x* B( t# AfDsAvailable = 1
3 ~7 L7 p3 D) f @- GfAutoReverseZones = 1
3 o# E2 W' @, ^% J) a4 c: hfAutoCacheUpdate = 0
* Y( T! ~/ X# bfSlave = 0 ( |' u6 s' r1 N; [
fNoRecursion = 0 3 F% ~3 c4 h8 d% P2 A4 D
fRoundRobin = 1 c6 E2 h% ]9 `$ {4 W
fLocalNetPriority = 1
% {" r) P; Y# s: h1 i. Y/ TfStrictFileParsing = 0
. u6 P9 S4 @- M6 i: w3 _fLooseWildcarding = 0
- p, Y7 L. ~( zfBindSecondaries = 1
0 V4 p! M! ~- @5 S. k- pfWriteAuthorityNs = 0 " l" }' p4 P, ~" M: _
Aging Configuration: v; s& Y# e5 T) @, e
ScavengingInterval = 0
8 X7 `( }* S1 H' v. [DefaultAgingState = 0
i1 D% t& Y- b9 \; t" G; ]DefaultRefreshInterval = 168 * T. D7 h7 ]3 B% D W# K
DefaultNoRefreshInterval = 168
: a! k$ a9 m6 t: h9 _9 J/ S ServerAddresses:
: @! Q! O0 S3 M1 \/ I Addr Count = 1
8 Y! X) w8 L5 ^4 @ Addr[0] => 172.16.12.1
6 }5 t6 Y# k- h" y7 n ListenAddresses:# J" Q p& m: |- a R) |
NULL IP Array.# M8 w$ v4 y* X4 r8 h5 r8 d
Forwarders:
+ `2 s; a5 C- F7 ]- R; n Addr Count = 1& r9 B, q& q5 r) W
Addr[0] => 172.16.4.3
# }( G9 w2 e7 P" x forward timeout = 5
; a2 g' F' h# i. ?1 b9 q slave = 0
6 f% m0 T/ @6 d ACommand completed successfully.命令顺利执行完毕 ( N; z4 @7 U$ h9 I$ a/ f
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
1 X; z7 Q/ W3 }1 n3 ]8 i. d# ^, z 命令:/Config* S" e5 Y% @* n' U9 W
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。" X% d- q1 Z2 g
) ^' S( h( F4 m! ^
用法:
- u4 V5 y) n+ J$ X% ^/ h$ } dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
/ P% m; w5 j+ H' y6 ~* m$ @ 参数, e" `, _7 d! S* U
ServerName :服务器名称,意义同上 : E: F% U* Q1 v& W V% w5 q# {
ZoneName:7 T" }$ o P' g: s
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 2 u/ [' I& j, x6 N8 Q0 h
Property:
$ V% G. k8 t9 p: F$ l9 Z* \; k 这个参数是属性。这里所说的属性有:. H9 z. i s: u2 B' f
与服务器有关的属性:例如:
; h% z7 o1 V& B# u ~/EnableRegistryBoot8 s8 N% a. A( [- {8 s
/RpcProtocol1 O1 z W* w' Q. B& t* |5 J
/LogLevel/ _; P( I) S# V; h9 o
/EventlogLevel 等等 (限于篇幅未能全部列出)
$ ^( ]# f& Z- ?9 H% \/ ?与Zone 有关的属性,例如:
" ? ^ I; N6 K0 l# e+ P; e/ H$ @ /SecureSecondaries
! @* O: e& _) o7 f /AllowUpdate5 m' c: Q8 ?1 V @8 ~- N6 G% U
/Aging
) U) m- L5 G) I* [. {6 `$ r /RefreshInterval Value# ^$ `# v* u1 ^( q. Y- R" p
/NoRefreshInterval Value
2 u* d. Q! P5 p/ p: H 属性值:
! T' N9 I( z2 r 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
/ g- F+ c7 K3 |. |6 v! M! p从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
7 H9 Z% ^! B# v! O 命令: /Statistics: z+ f' m9 c8 R. [3 _/ Z9 K
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。/ T/ f) e' r) f( }0 e4 }
用法:8 V' H5 M6 X: H! y8 l3 C- G" F
dnscmd ServerName /Statistics [Filter|/Clear]7 P2 [6 }9 j2 K1 d& A
参数:
! r8 S$ `5 Z$ l2 H: jServerName
! O) P$ n( D; }+ E3 B: v" I; `服务器名称,含义同上。
+ a: ]2 S m( Y, O) O6 D可选参数介绍:
' u6 s$ `- V5 Z共有两个参数,每次只能使用其中的一个。
8 u8 v. E1 l2 s6 ?/ R; I 1.过滤(Filter)% Q* U: [9 k' W. v9 E: ] y ^
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。4 b1 @* X6 Q/ N
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 2 D C& J' L7 D6 C; K: ?, u
00000001 -- Time: t6 b/ ~3 h. S
00000002 -- Query5 L2 [8 s! U4 t4 x8 U
00000004 -- Query2# Y/ J8 Y" p. T% {# m+ Q
00000008 -- Recurse$ ?3 c! u0 |( B& ]7 Z1 q+ e, J/ Y
00000010 -- Master
( F5 B/ d( ^. H6 @5 J8 l7 P 00000020 -- Secondary. j9 @4 U7 E4 k3 d0 d
00000040 -- Wins
" v5 V2 ~% O! ^5 _. v 00000100 -- Update
8 o, N9 O- w0 \: q H 00000200 -- SkwanSec" i- ~& T/ a/ u" m5 Z0 U J
00000400 -- Ds
1 d) n& i: H5 f0 F. ?; p 00010000 -- Memory
" b4 [* u: t4 l' D$ ^ 00100000 -- PacketMem, j# B& T4 l7 N- `$ Y% ^3 p, ]
00040000 -- Dbase6 h1 x: e1 H4 Z% N: E
00080000 -- Records
# I' f" j1 f1 F+ { 00200000 -- NbstatMem3 I; G$ P* d! \) u* x9 c/ b
2.清除 /Clear 9 y' J0 b* u) w) ^- z
这个参数用来清除统计信息。
9 t$ G4 p! x& D 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
( R1 z. a9 L# C1 Q4 w0 |2 A6 } Y( l+ `
* Z2 V# n8 e8 W) h2 b2 e K, V$ C* L+ q% j7 o0 l0 j
|