本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。# C7 v# {8 j; \* x! k
命令: /Info
$ q* T) Q0 K2 H 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。: p7 Y" W3 ^4 ~. u. p
用法:
* u7 P8 u; V+ ~! L7 n5 p; G dnscmd ServerName /Info [Property]
1 K( F) N( e( L8 c. F8 q K 参数:
' h6 D2 p5 n! ?$ \6 f ServerName . f' N" J5 ^- }5 y w' D0 a/ f
服务器名称在上一篇中已经介绍过,此处省略。
! t; L, v1 _. w, i5 I: H9 C, p% C [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。+ b I* n) t1 {9 l! B3 Z, ~( c
下面是该命令使用的一个比较完整的例子:4 Z% P6 t5 Z" w" y- i
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
/ N l0 C0 i e j% p4 ~dnscmd 172.16.12.1 /info 只使用命令而不使用参数
4 @. U. k) }# ?6 y9 x! w% C输出的信息:
|" Z* B+ q m1 Q: XDNS Server 172.16.12.1 Information:
/ R4 }! g7 m4 D* A0 X1 y8 \- EC:\>dnscmd 172.16.12.1 /info
0 t3 A1 s2 o+ I2 k8 Z. B. cQuery result: 查询结果
9 i, |4 e2 i" D6 k) j- tServer info: 服务器信息. Q. O0 W2 _" b5 Q+ }3 |0 ~
ptr = 00074718 端口$ |2 }2 x6 s2 k; [8 z! W
server name = myserver.microsoft.com 服务器名称7 F/ D- g. r9 s
version = C2000005 版本
! {, t6 Y6 V; s8 Z9 f DS container = c DS“容器”
7 D! ?" N$ S2 x0 t. Z$ a6 K Configuration: 配置信息 这些信息的含义请参考有关资料7 I! S1 _6 o: r' B
dwLogLevel = 00000000; l/ V, r% v g8 `
dwDebugLevel = 00000000
2 G. w" d% h% g/ ~2 v2 P6 M/ ` dwRpcProtocol = FFFFFFFF
+ O/ N) x# O8 Y1 I dwNameCheckFlag = 00000002
* @2 @: S1 _2 ^- c9 X5 q- t- n cAddressAnswerLimit = 0
* n# u7 H5 B$ I3 `1 Q* B o% | dwRecursionRetry = 3: J5 u# t* m3 }2 a; L% u
dwRecursionTimeout = 15
" X; p9 C, m5 O" v4 q2 G dwDsPollingInterval = 300
. }4 _+ n! p. K" B Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
* j4 G+ A/ x) ~. HfBootMethod = 3 9 e; I/ e7 m' a5 W8 @+ b/ _
fAdminConfigured = 1 % z- K# N* I) v, l& f* w/ n
fAllowUpdate = 1 $ Z4 G. ^- ], R6 r* L& y" K9 P
fDsAvailable = 1
. e n7 V" K/ |8 Z3 kfAutoReverseZones = 1 7 T1 W3 y% b) w+ x# z: Q( L
fAutoCacheUpdate = 0
4 @7 F6 n L& ~fSlave = 0
7 @1 ?1 O# f& d; ofNoRecursion = 0
7 j" k5 }/ j; m+ h7 S& a+ ~fRoundRobin = 1 / n. r1 J2 y+ t* `
fLocalNetPriority = 1
! H/ b; t7 g" N) y3 m8 BfStrictFileParsing = 0 1 H0 Z1 S- M% @9 P: l4 Q
fLooseWildcarding = 0
7 _& n4 j: u: ?9 \6 DfBindSecondaries = 1
' c$ B% ^0 u( z- b9 {# W4 E' K8 efWriteAuthorityNs = 0
% |9 W# Q8 E0 XAging Configuration:
/ D( D$ U1 [- f, K) J6 zScavengingInterval = 0
; N/ s8 n& f0 V; \& V p1 w# Q: bDefaultAgingState = 0 . m5 D# |4 [* Y _* H
DefaultRefreshInterval = 168 ' s( w8 T. w O# v& a7 ^6 o9 ?
DefaultNoRefreshInterval = 168 , i; A) z; d* H
ServerAddresses: 0 q* r* R) _9 o9 k! O: m
Addr Count = 1
; e N) r" L* d+ T2 O Addr[0] => 172.16.12.1
: J2 f5 T( o: {1 u4 l9 N ListenAddresses:' } ?; ~# E) e4 a# F' ]2 B8 X3 `
NULL IP Array.
0 q+ c3 E9 c) s' [ Forwarders:# J4 o# D* E9 P4 ~
Addr Count = 1
: B# j) @2 p. ~( a Addr[0] => 172.16.4.38 T; U' G" W$ w' h/ O9 r
forward timeout = 5. ]$ x; y. Q8 \, C
slave = 0
8 n! _$ H5 P. `& B& `! dCommand completed successfully.命令顺利执行完毕 * _0 c, o9 U! F# P& E! O6 |
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 - w0 d! y2 y: w2 t' o U. g7 z4 \% c
命令:/Config
- ^+ ^* F3 W- G: ~! {' r+ c/ [5 [ 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
2 n* [7 l$ B" j- W) m( k& @: y& m% C. F# K- y2 j& c
用法:$ v5 e( G4 C t! n# r
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value& k0 J( p" |6 b& M- j6 v& s, F
参数
% w# t4 V8 P0 `5 z1 U& j& @8 O' P ServerName :服务器名称,意义同上
7 m( [4 T6 Q. @2 T ZoneName:
. v8 c7 N' [3 {$ Q0 j 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 3 a& i' @# U [2 {2 ^6 [
Property:
! L" ~$ U3 n. X, V 这个参数是属性。这里所说的属性有:
4 E: {4 x" S* b 与服务器有关的属性:例如:4 x6 Q l1 F8 k% I( w4 r- M
/EnableRegistryBoot
" r. K* J3 w7 ^6 G# H0 K" C& Q/RpcProtocol, C: |, _) z: C9 U9 n6 h# V
/LogLevel
0 D+ Z& E! p7 j3 U2 f2 ?+ w/EventlogLevel 等等 (限于篇幅未能全部列出), l& K G8 y7 ^ Y* o2 y' W
与Zone 有关的属性,例如:
* D) `' n2 [! v0 `# T5 U G /SecureSecondaries
7 z7 f+ P" a% ^* h1 | /AllowUpdate
% y2 A; Q3 V$ T6 S9 n) W2 ?1 r /Aging% X( B0 l8 ^4 R" Y
/RefreshInterval Value* A& v E4 h9 t1 l% o; k
/NoRefreshInterval Value
/ _; L( Y- }: L, A T! ~+ y 属性值:3 B- N" W8 V+ M3 N5 |- F0 m
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。 E7 q# _/ q* c2 `: m! T/ }; I* p
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。. G6 J6 s1 ^- S1 ?# f. N$ l( u e
命令: /Statistics
$ V8 F$ w! |- L 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
1 b1 v: S& J" Z7 [9 Z' c 用法:
6 N2 }" A9 W- X; y6 R dnscmd ServerName /Statistics [Filter|/Clear]! H5 F) N$ s3 ^' C7 g
参数:
4 Z5 [( A1 o' V- n, J# J' @ServerName ; _, P0 v' }3 T; s1 v$ E! \
服务器名称,含义同上。
& I# n u7 g+ `4 K" e可选参数介绍:
* E! O2 H8 {4 O- |: c2 k8 g共有两个参数,每次只能使用其中的一个。
& S* O8 Z3 f+ Z$ E! ^ w. d 1.过滤(Filter)
! r/ ~. b3 [; R 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。% J$ f4 P% Y/ ]/ t
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: " k8 X7 o: V0 c
00000001 -- Time$ y% ^$ \: S. R- i
00000002 -- Query
/ p& b# O& w9 \# m3 _ 00000004 -- Query2! e' |' O, J' Y; Z% z2 q
00000008 -- Recurse& f' Z8 z: Y; \5 J7 u
00000010 -- Master
7 Z. u4 A# q! }6 b+ z$ R0 L 00000020 -- Secondary1 w/ `0 Y9 ^ H& v
00000040 -- Wins
0 l$ g! C) }7 V3 N 00000100 -- Update
4 }, i4 o2 z' t1 H 00000200 -- SkwanSec
+ N v& S! G# c# I 00000400 -- Ds# M5 x' |; h+ e1 I( z) I
00010000 -- Memory! Z+ T4 j9 W6 m3 b) M8 p
00100000 -- PacketMem
2 }3 d: P& @* j3 g! V6 X 00040000 -- Dbase
; s9 _' m5 k/ e: u 00080000 -- Records. m5 w' X1 q2 ^& J5 |. G
00200000 -- NbstatMem4 J) ]* }$ [* K2 F- X
2.清除 /Clear
3 F9 T5 [! W. M$ K6 K% Q9 g8 d 这个参数用来清除统计信息。
$ Y9 m6 w H6 f5 x, G' _. D, U 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
5 M7 M' F0 s2 |2 V& Q
6 L" {) W. `. B- ` 5 p3 ]6 @ I+ t6 k8 p0 ?
: D+ A6 p) ?0 |9 n0 C( X
|