本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。( Z" |2 y. U% {" R- |
命令: /Info
0 C0 v3 z* o0 R 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。) q! m& L5 A& L {0 U8 t
用法:8 f0 A& D7 m% r
dnscmd ServerName /Info [Property]
, F$ C* [8 X- W5 |1 F& ^, x) I b 参数:
- Q& R; j$ p; G0 u ServerName ) S4 L) C+ `) R- H: S0 p* Z
服务器名称在上一篇中已经介绍过,此处省略。 5 F) f4 x! U* H D! |
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
+ T; }( q4 l/ q! ?& `2 E 下面是该命令使用的一个比较完整的例子:* T( m& R7 J* ?- N
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:+ m3 Q7 t4 ]# D
dnscmd 172.16.12.1 /info 只使用命令而不使用参数 z4 Q4 M0 z5 J; O; G7 G
输出的信息:
; ~4 O N9 j* t; k# _- SDNS Server 172.16.12.1 Information:
4 H. a: p8 c3 n* U3 s* @C:\>dnscmd 172.16.12.1 /info
& O' d) I$ t. h! KQuery result: 查询结果- j" y) G( |6 O5 |, y* [
Server info: 服务器信息
) I6 r' u* Y. Y& m ptr = 00074718 端口6 g1 T# O3 j' j
server name = myserver.microsoft.com 服务器名称
]4 i! r. i4 u, [ [ { version = C2000005 版本) M% x( T6 m( X$ K: B
DS container = c DS“容器”
6 E+ K1 w9 ]4 s Configuration: 配置信息 这些信息的含义请参考有关资料$ K5 _/ k/ }9 `
dwLogLevel = 00000000
9 i' U, b- }5 k5 b$ w" @, M/ K dwDebugLevel = 00000000
9 n3 ?; ~1 T! O7 g dwRpcProtocol = FFFFFFFF
. A- R z a3 c dwNameCheckFlag = 000000020 a" Z+ m* f3 }: S9 N: {- j. w
cAddressAnswerLimit = 0
( Y, U/ C% I& g7 {" G& f, r7 B dwRecursionRetry = 3$ T2 ^, O, { n1 r# B+ @! w# ^
dwRecursionTimeout = 15
) T$ D$ s& s1 g8 l+ n" F dwDsPollingInterval = 300# P9 N0 o% K# P5 m( V9 t
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
3 }' c% l- f) `) d+ u1 hfBootMethod = 3
9 Y, ]6 L) a/ I- J8 ?- \fAdminConfigured = 1
3 ]' f9 a& J- IfAllowUpdate = 1 : h+ L; D/ J7 I' q
fDsAvailable = 1
' a/ I6 w! o9 C& Q! m: m$ ^fAutoReverseZones = 1 G: Z. ]# h6 I- S6 F2 z
fAutoCacheUpdate = 0 9 S. d. x/ U$ u/ K0 |3 a: v" W9 @
fSlave = 0 1 Y) C! A& U& M1 l0 w l5 D; v# m/ k
fNoRecursion = 0 / b8 R8 r6 f4 |* R E1 ^" w
fRoundRobin = 1 ' {) {, P0 u' h0 H
fLocalNetPriority = 1
! a7 L* C6 J% D" Y( R1 Z+ |6 RfStrictFileParsing = 0 T1 M- ^, H. _0 C" p0 `; G' Q% y8 f
fLooseWildcarding = 0 8 W1 V3 s6 d0 m# r+ E% P5 z
fBindSecondaries = 1 4 g1 ~! k4 G1 _2 e" l4 u1 x
fWriteAuthorityNs = 0 0 u2 W- D) Y# ^+ B; A! X: h0 L
Aging Configuration:
y% t5 E7 ^) s, u- d2 L9 SScavengingInterval = 0 7 Z6 v' G( u& C: i
DefaultAgingState = 0 2 d$ l2 ~- }; J
DefaultRefreshInterval = 168
6 o* Z k( l" @! _: G# [3 DDefaultNoRefreshInterval = 168 7 z# \: G: Q( H B8 M
ServerAddresses:
$ `) g. X& j5 L+ ]+ ~ Addr Count = 1
0 k1 p" { o. E( E% R P4 I! g1 c Addr[0] => 172.16.12.1
9 M8 |% {* M4 u/ q- G% Q; r ListenAddresses:0 N1 \ X1 b% g- r
NULL IP Array.7 P' I% c( C9 j8 d- Z4 W6 ~' Q1 e7 Y
Forwarders:4 b: U3 V/ @: z
Addr Count = 1
0 o! ~5 M8 Z7 B% h# y Addr[0] => 172.16.4.3
5 _* q- a- n# ~6 x3 C forward timeout = 55 Z7 p# m+ U3 P) V3 Y7 W% h
slave = 0# y( [, I0 g- B& p2 M6 O' X: R
Command completed successfully.命令顺利执行完毕 1 _' t+ v) |& e' i( t7 ]1 h
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 ! Q1 ]4 b# e5 G. _8 q+ |. Z6 v7 Y
命令:/Config" P p+ x% C/ ~ F5 [2 ^' j6 k
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。5 q1 M1 s' X' x
+ N6 v* v: Q) t; S9 S5 O" E9 ~
用法:7 {1 f1 w5 w3 ?' W4 @2 r
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) B" C5 U. p8 d1 Y; b) P- D
参数
4 y$ ?8 K" _8 z: ~) i" ?$ y ServerName :服务器名称,意义同上 * k8 g5 @8 v C$ V" w% p5 s
ZoneName:
6 g4 l( ]. `; S 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
& p; k6 l" G9 N- {+ \, K Property:
: ]( L7 D- D0 g 这个参数是属性。这里所说的属性有:
0 M+ s* V" _9 Q4 E0 c; b 与服务器有关的属性:例如:
. y0 V* B- b, O1 t+ S/EnableRegistryBoot/ J, b3 \( ]: _+ m$ e# j1 E
/RpcProtocol
. H0 Z, e" t( w6 F; V/LogLevel6 v# b- G$ t' l1 m; Z
/EventlogLevel 等等 (限于篇幅未能全部列出)! c* z5 P) y$ z- `- }
与Zone 有关的属性,例如:# t7 N; G0 ^" g3 |
/SecureSecondaries
9 ?1 r3 X& N: H* s' e( V7 b /AllowUpdate
9 o( z; a$ g3 J0 t3 c: ^2 J /Aging
% W3 ~ c) ~, H% ]' i+ `5 Z6 {3 n /RefreshInterval Value
, Z% {6 X; N6 h+ |* M /NoRefreshInterval Value7 h. z( o7 X$ i5 [
属性值:8 G7 f1 r0 Q0 W0 {4 s0 v8 H9 r" M
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
/ t4 s) x s/ O7 c# w从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
/ B. I: f6 J- B' a 命令: /Statistics
0 ~3 ]( S' A% T* {- a( @. v- G- X, T 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
7 m4 n0 [- ]' ~) }0 |0 b/ C" v 用法:
/ L$ t3 D& l/ U+ j$ x# W5 d dnscmd ServerName /Statistics [Filter|/Clear]& A7 V: G3 B$ {
参数:! L9 w5 {$ S1 S2 @3 ]6 M& J6 i3 O
ServerName
5 P4 U* b2 I1 t2 O+ A) }2 _服务器名称,含义同上。
2 K0 V6 J& `2 {1 Q! ~可选参数介绍:
" ~) k9 _5 |0 u: k& \共有两个参数,每次只能使用其中的一个。& z8 a3 I4 L; O, Y
1.过滤(Filter)
" l0 r4 I4 ~- u6 K 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。0 P* q8 a+ ~2 x+ A
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
! ^8 A/ ]6 f1 n$ i- g$ a 00000001 -- Time
' B. D# u5 C9 @& d) C 00000002 -- Query: T- [) v, O6 d4 C* Y. R8 o
00000004 -- Query2
+ u! b5 U; R B7 b& z! ~7 R 00000008 -- Recurse
0 i4 [$ v) D, Z- `7 C 00000010 -- Master
c$ q# k* `5 `: {, l 00000020 -- Secondary
0 \$ x- e% l8 p) i k0 ^- {7 x6 k 00000040 -- Wins7 \, c3 g4 Q% R: M: }7 ]' e3 n
00000100 -- Update
. b+ f1 w! M6 C9 e" F8 f 00000200 -- SkwanSec9 i$ @( s$ E( n1 M8 O g! r2 {
00000400 -- Ds: g3 O. |! B* R3 O4 z
00010000 -- Memory1 Z- G" ~7 E+ Y
00100000 -- PacketMem! p# m H% ]! W9 E. N4 {& K
00040000 -- Dbase7 C7 \, ]4 E) A) Z5 _' q
00080000 -- Records
" S& i5 J3 b: ?" i M* f) R 00200000 -- NbstatMem
- {6 G* o% m/ Y0 P, S2 |6 P& h0 h 2.清除 /Clear * f8 E$ h2 ~3 ~5 d& p+ T0 G
这个参数用来清除统计信息。
, \9 L5 g" O* q5 k 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
8 m0 [3 R3 V/ K2 v# n! A, m9 [) x9 l4 ^) P$ P2 }
9 S* s9 h% q6 b- J3 Q2 w R3 i/ B
$ X5 O3 K; a4 {8 a, s' w |