本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
7 I+ o+ q* |/ H" G 命令: /Info
6 m% v6 r% }6 t 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
+ u9 o! t! w! p2 \/ m1 _ 用法:
- ^& T% C6 t4 t0 M dnscmd ServerName /Info [Property] # X1 s: L; O! x: g2 _7 e D- e
参数:9 I2 \8 t/ W3 t9 X
ServerName , G4 _' A& K' X: t' {. F+ E
服务器名称在上一篇中已经介绍过,此处省略。
5 W+ \5 y4 I7 H4 M$ D8 w' T- Z [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
) @* r# u# n" j8 i& {- r 下面是该命令使用的一个比较完整的例子:
3 x0 \" G& i3 r8 m) [ 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
( i b O" z; O) L% Zdnscmd 172.16.12.1 /info 只使用命令而不使用参数/ L6 ~# ^0 |# A( g
输出的信息:( y$ ~7 P# c7 _' s
DNS Server 172.16.12.1 Information:# T' G0 W \6 {" z2 i; N g. I. c/ Y) m0 P
C:\>dnscmd 172.16.12.1 /info1 d, n l7 j, M) m; z0 G
Query result: 查询结果
0 r3 X* ^4 V2 l1 ]) _% Z1 }Server info: 服务器信息# N" x" e0 r1 G
ptr = 00074718 端口
+ z P, ^0 p$ c- v server name = myserver.microsoft.com 服务器名称4 ?/ }% e! ~4 F5 I, t! l9 }& @( `
version = C2000005 版本' F) b4 q$ X: u9 S/ ?
DS container = c DS“容器”
( G! T& K; @6 \: @ Configuration: 配置信息 这些信息的含义请参考有关资料5 U/ M5 p8 P1 _' y5 i/ x
dwLogLevel = 00000000
8 p* c4 p2 ?9 s; S! S2 n dwDebugLevel = 00000000' I( f" t( S$ j, i. _
dwRpcProtocol = FFFFFFFF! Z1 u9 S5 {+ Y y! j0 e. p
dwNameCheckFlag = 00000002/ G0 P4 e, ` O3 S
cAddressAnswerLimit = 0
! z# N, P2 w' B, q* v3 H9 i dwRecursionRetry = 3
) f C- D* Q( ]$ z8 D8 K. l dwRecursionTimeout = 15 }; U. a" b1 P! ~; X7 z) y
dwDsPollingInterval = 300" z: L9 |) F, I$ J
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
- @) ~- G" i1 M( tfBootMethod = 3
0 g Z. i; N) n* nfAdminConfigured = 1
9 G+ U9 ^* P( a/ XfAllowUpdate = 1 - P& L$ M# J* s: u
fDsAvailable = 1
N+ A7 t) ]. s1 ^/ [fAutoReverseZones = 1 5 {, [, l7 l" U* c, [' S
fAutoCacheUpdate = 0
: {: E* ^& W2 T- IfSlave = 0 ! l3 ^- n' C; E- i) k* P
fNoRecursion = 0
' O' T( R) N* lfRoundRobin = 1 + S$ g+ p1 H; b$ y5 k
fLocalNetPriority = 1
6 W6 P: D6 z% Z1 a% XfStrictFileParsing = 0 & q& i! D+ |8 D- K; x( b
fLooseWildcarding = 0 , E' Z$ B' G) p) J& q o
fBindSecondaries = 1 : s$ ^* \: }% D, |
fWriteAuthorityNs = 0
8 [& a4 R. E0 R! R- t2 p: kAging Configuration:
: X/ K% b9 d) E! sScavengingInterval = 0 7 g- s: Y/ G$ X( m
DefaultAgingState = 0
9 p. g9 f G" ~0 L, P6 g9 HDefaultRefreshInterval = 168
Z) p5 \/ n9 P8 F( SDefaultNoRefreshInterval = 168 7 f7 C, q0 F' P/ B* n
ServerAddresses:
# L8 F) z9 m& |' S3 ?3 p Addr Count = 1
- o6 y4 O- C+ [. S Addr[0] => 172.16.12.1" L* t' A( z- c7 k8 d
ListenAddresses:
6 U: n& k7 ?% o/ _ NULL IP Array.
: K$ d+ A/ ?: \& ]9 e8 X Forwarders:
8 W+ z, Q/ m( w2 f: ? Addr Count = 1/ D5 h+ s# O; f4 L
Addr[0] => 172.16.4.3
' B- S* x4 ^, Y: \+ R forward timeout = 5- ? R" w% m% n% I2 K
slave = 03 v8 G+ H; R, H. G
Command completed successfully.命令顺利执行完毕 0 k: K; p M6 Q6 v8 @
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
% b5 }/ O" B; D 命令:/Config& L% l, }2 ]$ y( P' Z, q. \' X3 t
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。/ U! q$ K3 k* T! x# F* M
" i- P1 K0 T( i$ F) b& t# R9 r0 a 用法:
- Z' C7 O6 D3 t" U dnscmd ServerName /Config [ZoneName |..AllZones] Property Value% K% |# k X8 g
参数8 R' O% f+ C2 q: D! G
ServerName :服务器名称,意义同上 ( l& Q( J2 G/ w( \: Q3 K" f9 K( p
ZoneName:
0 ^3 E& ?. T, |% u9 P4 c 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 # S2 P# m8 u3 Q- h8 N
Property: + C3 g1 \. j: d7 i0 _
这个参数是属性。这里所说的属性有:7 k/ X& l; v5 {# H/ ]; {
与服务器有关的属性:例如:/ r1 h+ p$ |! X/ W9 b
/EnableRegistryBoot4 \) _7 q& d8 G# J3 K l7 x
/RpcProtocol
' I' Y9 Y* h k# R/LogLevel
; \2 Q) u( O/ A" x% w$ \, B/EventlogLevel 等等 (限于篇幅未能全部列出)
% x2 l9 L3 r% {1 |: k6 R0 W/ ^与Zone 有关的属性,例如:* v! v* {! k" f* W$ {% `
/SecureSecondaries- R& @: A/ V% Z+ p0 L; M8 v6 M, R" ]
/AllowUpdate
6 O: b) Q, t" ]* G3 C /Aging
@, T5 B% l- `: q; ]/ s /RefreshInterval Value
! `7 h. {9 A6 N6 e8 q5 B3 L& {5 B /NoRefreshInterval Value5 o# N( J) o- B8 ~" U& {5 _
属性值:/ \% x* v }+ p4 ^+ F
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。) |; v( K5 K4 g. `- q
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
! h2 U! P8 r* Y# z' d$ _; O/ h 命令: /Statistics% q( I# D7 m( h3 C
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。& V* } d! P1 [ Y
用法:: C9 u: Q! j2 W2 V x
dnscmd ServerName /Statistics [Filter|/Clear]
7 O( g; w% x2 A! F' V 参数:
" f0 R- N6 z- Z2 b8 v, [* q! ?2 vServerName - O+ W! T1 u$ X7 `7 u' ?
服务器名称,含义同上。2 d8 M% E( ` H
可选参数介绍:/ }; A+ d' ]& k6 L G. [2 q
共有两个参数,每次只能使用其中的一个。/ m- _& N4 o# x' |# L, z
1.过滤(Filter)
# a- v/ s4 a% e9 m( Q 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
. |9 ]& R3 r7 x9 V; T0 y可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
) @& U# H2 F4 U/ ?0 L1 f! D1 V 00000001 -- Time
& l* S4 ~2 k% }$ c/ E. a 00000002 -- Query! w/ A7 N/ a( H7 c
00000004 -- Query2
2 X* |9 }4 v- ^9 E1 Z# ~ 00000008 -- Recurse4 ~* H; t v9 {7 F; I( [
00000010 -- Master8 Q- G$ S& D+ t0 L6 }
00000020 -- Secondary
$ Y- ^( k' O' t% i0 @ 00000040 -- Wins
9 D- W& \. T* T! ^3 D3 H* x 00000100 -- Update' J2 g! c+ Y, p5 s' S
00000200 -- SkwanSec
# e# E7 @$ H6 B 00000400 -- Ds; ~% S4 R3 A6 ]4 o2 Q" p+ d0 U' B
00010000 -- Memory) Z+ E) G+ T) s1 T2 g
00100000 -- PacketMem" v+ s7 ]+ |/ W+ f& a; [) r( P# H
00040000 -- Dbase
+ c. ?( e3 f( L8 D# F 00080000 -- Records
1 P, g& W. f, @1 D8 z+ M- z* X 00200000 -- NbstatMem
7 c$ R2 O; ?$ ~ X 2.清除 /Clear
4 u: E; c9 ?' } 这个参数用来清除统计信息。 K- N* t$ M, Y
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
% J9 J* S& r L3 l( p
/ ~/ M6 w- i5 J2 i - A; i8 `+ X8 @, Q$ }4 A% @: M
# O$ P u3 p+ ~# }6 J: G
|