本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。4 e/ C7 F7 K- ^, g( F! e% ?7 u( y( f
命令: /Info
% ~% \/ p+ `$ E; V) Y! }6 P 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。2 d* V. [& h( |6 u/ r
用法:$ M C. I! w) a0 P9 i: x
dnscmd ServerName /Info [Property] 6 D, B8 K" a% [3 M O V
参数:
( f0 {* c. M; L8 g" h& `, v; V ServerName
9 q1 A5 t P w0 v$ U' a5 L( P 服务器名称在上一篇中已经介绍过,此处省略。 7 h; ~; D9 }3 S4 a2 d. K- ?
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
7 K; E; Q" \, L5 F: r8 H& P 下面是该命令使用的一个比较完整的例子:8 E/ B0 `/ ^2 y, l$ ]
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
9 S7 k% ]& x$ r" x! E" a: o! K* tdnscmd 172.16.12.1 /info 只使用命令而不使用参数
. B1 B4 h" M2 B% \输出的信息:
' a: y. j8 Z" }0 fDNS Server 172.16.12.1 Information:0 k3 p! h8 }9 _
C:\>dnscmd 172.16.12.1 /info
* f6 C; k: P; Z$ J' o1 v* c/ hQuery result: 查询结果8 R, r; I1 ]% p4 s9 H7 h
Server info: 服务器信息
/ ~& ^" Y4 S8 | ptr = 00074718 端口5 }4 [3 G u/ |7 Q# b- p
server name = myserver.microsoft.com 服务器名称
4 v9 n, R9 j+ p \/ s2 P/ S version = C2000005 版本
8 }# t- ^( o6 L% w* s DS container = c DS“容器”
, D* {$ u$ V! u4 _( y Configuration: 配置信息 这些信息的含义请参考有关资料5 v7 K' G9 [" ?2 T4 w4 x
dwLogLevel = 00000000* ^! Y4 S& u- Z" c1 r$ V; M
dwDebugLevel = 000000005 D% u) h) _8 y1 i* g
dwRpcProtocol = FFFFFFFF8 Q2 M- }& G0 ]" A- S0 q
dwNameCheckFlag = 000000029 a, C1 c; |( |
cAddressAnswerLimit = 0' o2 v; E% {: b' }: l- F
dwRecursionRetry = 3
9 R* c: b3 b8 ]- m dwRecursionTimeout = 15. C! B1 B. B/ z
dwDsPollingInterval = 300+ a8 A& X$ r. f$ v# K
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料; S4 u5 `. E1 U8 x8 t' t* o$ [& R
fBootMethod = 3
0 k2 Y) {% D1 [+ SfAdminConfigured = 1
* B" l" n9 l" WfAllowUpdate = 1
3 f/ ?$ n4 v. u9 q$ U+ rfDsAvailable = 1
( S6 _' G; x" `. a! h7 L5 |7 bfAutoReverseZones = 1 ) ?! Z7 Q; p' S* k3 G
fAutoCacheUpdate = 0
5 {! g- C( ^8 }. h# mfSlave = 0
1 G( ~) i. l9 B( E9 ifNoRecursion = 0 % D+ }- [9 j ~$ Q
fRoundRobin = 1 5 q/ n, N6 [' D& i2 |4 H
fLocalNetPriority = 1 1 \" Q) k8 t0 T- |# @( D6 v
fStrictFileParsing = 0
j* B( ^6 _ t- }fLooseWildcarding = 0 + c. [ ^" x4 X- e+ F- C
fBindSecondaries = 1
7 |, ]$ N, v9 JfWriteAuthorityNs = 0
; F2 ~9 ~8 G, r+ Z. o" w* O$ wAging Configuration: * w5 h; F+ F( r: P4 @
ScavengingInterval = 0 : r4 v3 @# u# ~) \$ t
DefaultAgingState = 0 $ l7 F) T7 T" j$ [) D
DefaultRefreshInterval = 168 # \4 l1 r5 H, ~! Q- G
DefaultNoRefreshInterval = 168
- B( m8 m/ m* \. M4 A, {6 o3 F ServerAddresses: $ n% k$ N. @0 T# e. {! b! P
Addr Count = 1. v& z5 R$ c( ]2 t# Z/ d
Addr[0] => 172.16.12.1. _4 N6 P" Q; d% L' U' E
ListenAddresses:
# j) [3 Y$ X4 U NULL IP Array.2 I$ X4 J; P) E& p2 V* p1 C* g$ y
Forwarders:$ U; \9 i2 x% M6 k, A
Addr Count = 1: E5 x+ s: J3 B* S J( a9 u T
Addr[0] => 172.16.4.3
' e/ _7 S' D0 C forward timeout = 5% _0 i. @5 R( T+ e5 C/ X
slave = 0* I9 s. a/ @* h0 g h$ Z) q
Command completed successfully.命令顺利执行完毕
* p4 c! _# N2 }4 O! T _3 N 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
0 W& b( M- e! l7 E p 命令:/Config
. Q* G: Z" V& i! b, V e: w 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。7 |& r; O* K0 c& ?7 h, P
) d' l# R) z$ f( n5 m4 U 用法:
C, _! F8 ]' { dnscmd ServerName /Config [ZoneName |..AllZones] Property Value% l2 h1 I' j5 l
参数! Y8 W. V# R' Y0 n0 Y( e( f
ServerName :服务器名称,意义同上 7 g+ M. a8 d& u
ZoneName:9 Z+ w0 q. H; a1 R9 P( z" s
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
0 I+ a" H9 g; |5 G' U; W Property:
9 t8 ]. P, Y. h9 \: _ 这个参数是属性。这里所说的属性有: R2 |2 W, m8 t8 Y9 a/ V
与服务器有关的属性:例如:
! W/ v7 Q4 J9 b/EnableRegistryBoot4 o! P2 N$ J4 R+ E$ L. w! W
/RpcProtocol
; X# K1 `2 E1 i4 _1 @- O% f; g/LogLevel, r# S4 ~/ Q' A
/EventlogLevel 等等 (限于篇幅未能全部列出)# {2 x; Y0 i& |" D/ J
与Zone 有关的属性,例如:
+ M! G" S" b/ O: E /SecureSecondaries0 u3 F6 F# c$ q1 l$ b9 L
/AllowUpdate/ f; c8 g0 x5 t+ I
/Aging7 ]5 f5 \# d" K0 ~& ?
/RefreshInterval Value
7 L" V X; E9 G: ^2 X3 ~ /NoRefreshInterval Value
# r3 z, h* V: G% _ 属性值:
0 w; { e- o+ ^( C2 T; G: v b# B 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。# a( P- F6 ^# R
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
6 e" s4 T" ^" o 命令: /Statistics
7 O3 ^1 M$ S8 Q/ t9 Y4 B; E M$ m" o' { 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
# ~' I1 J8 s; J) |" g 用法:
" K/ C$ ~) n! V/ F dnscmd ServerName /Statistics [Filter|/Clear]. H+ n/ Y; X2 [
参数:% V2 [+ x* ?* o
ServerName
* D0 R3 O3 X f服务器名称,含义同上。" \! J& H. X5 A$ i% l
可选参数介绍:" m3 W6 i) n4 @4 i$ L4 h
共有两个参数,每次只能使用其中的一个。- g8 ?6 L. D4 C9 M) O* ~; E+ ?6 c
1.过滤(Filter)
5 v! |* u# _$ Z$ L ` 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。# l0 @, G$ g' q+ K: w1 U# H
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
7 Z5 p$ Z$ }) O9 A' W 00000001 -- Time
) I ^4 G/ q$ J$ _ 00000002 -- Query
' i1 g) O7 k5 p, h! ] 00000004 -- Query26 s1 l( X7 V$ P7 m
00000008 -- Recurse+ m6 e5 x6 ~; d5 |# S- O9 |
00000010 -- Master
% { P" D0 h4 ~* h' ] 00000020 -- Secondary
! G- c& F: Q! K4 y% ? 00000040 -- Wins# g0 n- @1 G4 X9 _1 X+ X0 q. r
00000100 -- Update
+ L. o y# Q, [5 C: r8 b: {7 g4 i 00000200 -- SkwanSec! |- ?& }6 n9 f; v, O& ]3 H/ n
00000400 -- Ds$ ~/ H* ]2 d8 E/ _/ Z
00010000 -- Memory8 S+ M& Y$ y: U( z3 F
00100000 -- PacketMem
# E) A* q8 O8 v+ g) y9 H7 C 00040000 -- Dbase
) R+ g. A1 \% N 00080000 -- Records3 A6 l2 M' [+ J$ n" H
00200000 -- NbstatMem
2 J& ]& w/ B# Z2 d 2.清除 /Clear # o. W7 w' h8 J! V! I
这个参数用来清除统计信息。
4 d9 I3 p& D$ o% |3 w( ` 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。! w" q' T( D; V) n. Q7 u
5 ^6 U3 S1 [3 `2 p
" M9 h9 N e0 y6 ~, A
8 X+ |6 G2 |6 H& k8 n |