本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。" g# \; T- Q, f! A
命令: /Info
1 Z$ n: m0 g: ? J! r# n 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
, ~% q8 V! r7 T! ~7 a 用法:
8 U# p: M3 K$ Y# w dnscmd ServerName /Info [Property]
* ^ R" u, G5 G9 P6 P& {- Y 参数:
. |5 f% m: o ^) T& L: J ServerName
) Y' N" J) N1 O/ C2 g5 J 服务器名称在上一篇中已经介绍过,此处省略。
2 O; Q. W( A! o) [, E" A [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。3 \6 C4 T2 X" S: M* [) u, j, I9 F
下面是该命令使用的一个比较完整的例子:# H* v# b) ]6 s
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:; ?& @; k+ w! ?/ F! r
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
8 m- F' E z ~输出的信息:
; L7 W+ o5 o. K7 V( n8 CDNS Server 172.16.12.1 Information:$ S& m+ i" u# W+ \
C:\>dnscmd 172.16.12.1 /info! ^* `- O3 g! u' @ M4 X4 p; f
Query result: 查询结果
5 M$ ~7 L1 z5 X* ?6 \ B$ \" H: ZServer info: 服务器信息
+ M- R) Y8 J q+ W7 r' ^ ptr = 00074718 端口: k5 ?5 Y$ y7 n# w
server name = myserver.microsoft.com 服务器名称8 I* p3 n2 J1 w; N1 |3 F$ @" e
version = C2000005 版本
- \$ h- Y4 A n0 H DS container = c DS“容器”
1 o6 r7 U% w/ y$ v% `8 {( g Configuration: 配置信息 这些信息的含义请参考有关资料* F7 J+ K) }6 Z# I. C S) h
dwLogLevel = 00000000! A$ \# X0 C8 r' e
dwDebugLevel = 00000000( U; W! p2 u" K' J. z& ~
dwRpcProtocol = FFFFFFFF
7 ?, V- ^- Q! Z) C1 G; N- y dwNameCheckFlag = 00000002, q! a" J* G9 K; G
cAddressAnswerLimit = 0# |& p! n. }+ I. G( \
dwRecursionRetry = 3
& A" v. r0 i R0 u% _. h dwRecursionTimeout = 15
# G2 m+ s+ n5 n" C& T* |( U# | dwDsPollingInterval = 300
" r6 y5 b" W# A* J# F Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料7 {1 ~6 R% b* \6 L7 t
fBootMethod = 3
3 b- W; H: L% g xfAdminConfigured = 1
. E% I% e! \: V5 ]fAllowUpdate = 1
- L+ b2 e( g/ G3 ~! B. u& ^( E8 yfDsAvailable = 1
$ {+ y! y, D* f8 ~$ hfAutoReverseZones = 1
9 x8 c! I. ^$ b2 LfAutoCacheUpdate = 0
; Z2 L2 U& n/ ~8 g% k0 lfSlave = 0
* G; X8 P2 B. y5 I3 b' PfNoRecursion = 0 6 @/ r8 W& ~# |2 k
fRoundRobin = 1
3 g) I2 [# Y' i9 N& `6 d7 z* _0 NfLocalNetPriority = 1
1 v2 y) t R9 F$ O5 MfStrictFileParsing = 0
/ J7 e, X6 q8 G0 \# d+ {5 MfLooseWildcarding = 0 , F' `2 q4 e- \; Z! B
fBindSecondaries = 1
* c" {! k, A% o4 n T: {fWriteAuthorityNs = 0
Z1 ^, E% {7 u- YAging Configuration: 7 o% Z% g& w' k! F7 r' }
ScavengingInterval = 0
7 A) l M2 u* }% v3 t" T7 tDefaultAgingState = 0 7 d$ }* A! `4 J# o
DefaultRefreshInterval = 168 9 z# x* q' Z0 K) K
DefaultNoRefreshInterval = 168 9 O' k% R \7 y0 H1 p7 M6 P. F x) O
ServerAddresses:
! @' O1 b7 b6 i; D* { Addr Count = 1# [" R5 c) M. i3 X9 \) V7 x+ A
Addr[0] => 172.16.12.1- q$ ?4 r: e, U' ?
ListenAddresses:
- c- m+ q5 }$ G2 L" w NULL IP Array.; m' A+ f8 i- V ^/ u
Forwarders:
& B/ X& h1 L! n Addr Count = 1
' U% n. M( S* Q% n- L9 V Addr[0] => 172.16.4.3
3 y. w2 N& B2 U* h: K8 h: X forward timeout = 5
0 a% s' _; K6 j/ g( c5 l slave = 0
0 q( F; P) [7 dCommand completed successfully.命令顺利执行完毕
6 b! @( X; y i2 P" M0 J 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
. c1 ]4 s+ U' | H 命令:/Config \; T7 o5 ~$ E! w
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
- s" S3 q4 h& _0 `! Q
4 i! ]" H5 g3 u! V* V7 P 用法:
1 C5 F% }* \) E dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
, ]0 E& r* D: Z: w( P# f 参数- N0 b6 x! h0 F5 l) j7 N0 D# k; E
ServerName :服务器名称,意义同上
# p$ ?: f" b0 i* n% _8 K7 @7 Z- ? ZoneName:# [& B' z0 Z. g( g
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
g6 `0 R5 _, ~; ~# t! b$ J5 k Property: : C+ ^2 l$ J8 ~( q
这个参数是属性。这里所说的属性有:
6 G! Q& {: m2 O4 e5 d: r2 q 与服务器有关的属性:例如:: I8 |" I' V8 W) Z# {
/EnableRegistryBoot
0 H5 R7 k! I( ?) `6 B/RpcProtocol$ w) ^! w5 m2 ]" p; d
/LogLevel; w. W# {$ R/ y" W1 ?! Z5 w
/EventlogLevel 等等 (限于篇幅未能全部列出)$ d# v3 [% J* W" ` j5 H: `
与Zone 有关的属性,例如:
7 p& H& Z& p" G /SecureSecondaries! ]$ q2 H7 g& p% H+ ]
/AllowUpdate2 H9 ?8 @0 G) E# [' D7 ]- J5 S6 {
/Aging# }) c- w" |( ^/ ]
/RefreshInterval Value) s9 f$ w- x3 I
/NoRefreshInterval Value: O X3 k) Q) O# ]
属性值:
/ m; Z0 W% ~$ L' N1 t3 |, U+ N 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
2 B/ B" @, [# E* ]$ t! K$ Y1 z从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
2 E* u8 `0 m3 e6 }9 y7 Z 命令: /Statistics9 w/ B1 F9 y5 t! A
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
( |- z+ M, u, Z5 v- o3 m+ { 用法:
* f* s6 g# X- B3 k @1 s dnscmd ServerName /Statistics [Filter|/Clear]
/ R2 z7 \6 X3 E/ m6 n. Q* J: U. r2 s 参数:
3 ~- x8 }+ X ?! L8 a( AServerName + R* a6 E) s: J' E7 J
服务器名称,含义同上。+ P: G5 t# q# ?2 [1 g
可选参数介绍:& u% K! D) b" Z( z: x$ R
共有两个参数,每次只能使用其中的一个。
: G# l* F: t4 ~, ] 1.过滤(Filter)
( c9 g( _* M% z9 Y" u+ M& K 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
% ^& Z* u( z7 `可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
9 ]5 v, x/ B8 e e; l4 Y% D# b 00000001 -- Time( t5 v" r3 u+ o: Z0 I
00000002 -- Query
. H3 d" Y3 |; l$ P1 h9 \( W7 R, O 00000004 -- Query2
. w! O% j- E; s& } 00000008 -- Recurse
* \4 r q1 b+ w3 I& E! u& J 00000010 -- Master
1 c9 \/ E# t1 z/ h# d 00000020 -- Secondary' B: A, n; @# B% M4 _, a6 {
00000040 -- Wins
* O: l7 X/ d' x 00000100 -- Update0 T. r& A I4 z* }7 s
00000200 -- SkwanSec
7 X! M' g: q( v! j( I! s 00000400 -- Ds, O1 u; v- S( S) j
00010000 -- Memory1 h% ~5 @9 u4 @8 H
00100000 -- PacketMem
. w2 p# H) Z! A( f& p 00040000 -- Dbase
% D& D8 ]1 T7 U 00080000 -- Records' y* @9 q$ R; I: o
00200000 -- NbstatMem
; n5 b4 X3 `3 T) | 2.清除 /Clear
4 W- q" r; b9 Y& i 这个参数用来清除统计信息。; H' `) l3 ?# h; H- N, [
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
3 s$ ?% A# q9 Y, ]6 s' J% a8 v- P6 a
0 {6 b# O1 P, T& F2 A5 F$ |/ p i7 k: o2 T) R
|