本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。4 F/ i/ ?/ q1 \
命令: /Info
3 _- Y2 a- V& c$ l1 w6 v* F# Z 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
' F! j6 s: P m; E3 w 用法:8 L+ j+ T7 V3 x& t5 b
dnscmd ServerName /Info [Property] / S: ?/ B' y! a9 A! z2 |$ g
参数:
8 N8 |: G8 o- D! | ServerName
/ t$ U6 A" S$ x. u' e 服务器名称在上一篇中已经介绍过,此处省略。
# h# A/ v' i0 X G [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。- v6 n* _0 E$ [, u1 l5 F+ r- Q
下面是该命令使用的一个比较完整的例子:( w% `% N+ X, S6 G `+ x$ d1 O- y
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
, C# z& J& S- O s+ ~dnscmd 172.16.12.1 /info 只使用命令而不使用参数" J6 W8 `5 X: |& [& y
输出的信息: r2 _( ~) ]0 Z0 B
DNS Server 172.16.12.1 Information:
$ J4 B1 _* e9 ?; i( O" t0 ?6 m% |: {C:\>dnscmd 172.16.12.1 /info& A7 w) b u( v. f# B0 Y
Query result: 查询结果) e: t3 \* a+ c, z" c. A
Server info: 服务器信息
! S: O# b: Q" y! H) R# a, H; Q ptr = 00074718 端口" M$ x4 q+ k1 L3 }) P$ P
server name = myserver.microsoft.com 服务器名称! w" i$ s2 u; B" r$ ~; z
version = C2000005 版本( Z3 c0 J/ S- y
DS container = c DS“容器”+ \6 U {, a, Q$ t) Q5 k
Configuration: 配置信息 这些信息的含义请参考有关资料1 W: ~" D$ W: ^5 n5 u. ]
dwLogLevel = 00000000
1 ^" f6 ?: ?% C y# ]1 P9 d, F dwDebugLevel = 00000000
6 x% @2 C; A: B- {2 x/ t( @ dwRpcProtocol = FFFFFFFF. A1 m4 c+ J H0 U5 N0 s
dwNameCheckFlag = 00000002' e, U* {9 E7 \( [4 h4 O
cAddressAnswerLimit = 0" o- w; _. E V1 X& B8 F
dwRecursionRetry = 3
" x9 G. y/ M) {) U+ d dwRecursionTimeout = 15
$ s9 N" M8 y1 J8 _ dwDsPollingInterval = 300! _- ^. j: |/ W- y$ p+ v+ n1 [
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
# R) L+ y( U/ d! H9 C9 C; DfBootMethod = 3 , {; R' f7 W1 r3 ?3 z+ _4 J
fAdminConfigured = 1
5 B2 i: O! z. ]5 NfAllowUpdate = 1
* e( a. |9 X. } t S9 P; \fDsAvailable = 1 % o0 s8 I4 A9 w2 t$ m. g) p& q+ K
fAutoReverseZones = 1 * Q @9 d# r* j; B$ O: P
fAutoCacheUpdate = 0
- D/ p, |2 G/ s, @/ _8 o$ rfSlave = 0 w* L& v% Q4 b2 z! G
fNoRecursion = 0 ' H8 j& n+ n9 [6 A
fRoundRobin = 1 3 k( w3 ^: T7 z; c
fLocalNetPriority = 1
9 u; j: q9 M# g& U, r0 l9 L2 U8 M( WfStrictFileParsing = 0 $ j/ M2 b, N- H- y
fLooseWildcarding = 0
3 v) D f/ ~7 hfBindSecondaries = 1
# p2 C3 A7 e- FfWriteAuthorityNs = 0 , S1 ^6 J ^ @2 _
Aging Configuration: ; j% N# O7 _+ M* W9 X# R
ScavengingInterval = 0 ; ^4 m) G3 N" o; z* |/ J+ L
DefaultAgingState = 0 9 v! k/ F8 I g3 [) l' R( K
DefaultRefreshInterval = 168
" x& P& h* L# s8 @5 lDefaultNoRefreshInterval = 168
9 A }& T! P: |7 ?6 \! } ServerAddresses:
e, a. u8 g( t+ b% k% ? Addr Count = 1. P$ S g$ j7 k* i
Addr[0] => 172.16.12.1$ G9 ~ l; Y6 b7 N
ListenAddresses:. N5 j" |4 M- t! `
NULL IP Array.
3 J/ D' M. K! | Forwarders:
# X" G6 x# j3 ?/ \/ n4 L$ L Addr Count = 1/ {) f, Z- o" G3 t/ Q
Addr[0] => 172.16.4.3, C2 K3 j/ |* t' Q0 z2 Y" W
forward timeout = 53 Q( s) }0 v7 s, ^3 F4 p. T
slave = 05 c9 D$ N3 f+ N, T9 S
Command completed successfully.命令顺利执行完毕 2 i$ |% }# X2 @- s
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
' [( ]3 P) U- k0 i* I$ J7 S 命令:/Config9 C3 p J. T$ o9 V" ]% P& B8 B" A
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。+ |# `. h1 s! H
# e6 v: X9 M. A& e5 ] 用法:
4 C/ n8 k( i8 o- u& x- g dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* N: ^2 p {: ^' i k* t w 参数& L* Z! v0 W4 X' _+ p, r- z2 R3 j
ServerName :服务器名称,意义同上
: A; Y+ \8 I2 I. f+ k% x; }& ?. Q" R ZoneName:% {2 ^$ O8 Q* v$ N2 ?9 H, \, \
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
* r! i6 I2 F% [8 s9 @ s Property:
8 Z5 T# e! e _ t9 a$ w2 [9 s 这个参数是属性。这里所说的属性有:" Q0 h5 K# f7 v; C
与服务器有关的属性:例如:
: E. w7 i: w3 a: ^$ ]0 d! ?" ~/EnableRegistryBoot9 p+ ^* b, k/ P0 z" R% Z9 L
/RpcProtocol
, \$ J8 P' {2 b1 I- E2 o/LogLevel2 e5 X; J. Q3 E1 d. i! c
/EventlogLevel 等等 (限于篇幅未能全部列出)
% x; y4 d; s& j- H4 |- Q" R, X6 C1 l与Zone 有关的属性,例如:
) X* P1 J. c9 I7 C o /SecureSecondaries) @7 B) ]6 ]: |' z# D* I3 [! F4 r- G
/AllowUpdate7 H" i2 b4 K3 r' @
/Aging2 A! g" E6 S1 w6 i
/RefreshInterval Value
) x R( g; O0 s: q: ^ /NoRefreshInterval Value
) w, \, Y# |; l% B; P2 f; j 属性值:
6 \: L: a3 L" s$ u! ^+ G4 z 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。( T8 H$ K7 o f2 p/ M$ [. F! \/ z
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
% T1 [# m$ K5 r4 `+ L' U* B 命令: /Statistics& C# k7 r. h1 Q b( C) ^) {) S
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
3 m) B% w- M9 B8 ^. ~ 用法:
' y7 N$ F, R9 D7 R8 J dnscmd ServerName /Statistics [Filter|/Clear]9 H. y# Q d+ a5 N2 V/ b
参数:
) U% r1 q! }* W; y' lServerName
8 A) C- f# W e9 D$ Y服务器名称,含义同上。
& V' R! U0 m, N3 b% p* O可选参数介绍:% A" S# }0 w3 j
共有两个参数,每次只能使用其中的一个。: |6 \$ \) {; O1 d K
1.过滤(Filter)6 G& I4 i4 Y3 n7 a( I2 [: S" C
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。& X. l. @: X4 o* d0 R
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: - Z. c9 u4 U% `7 I. B; l
00000001 -- Time
& E" s; r# L1 c, n0 w9 a* m! M 00000002 -- Query
3 S4 D0 [7 \. X+ T( z 00000004 -- Query2
$ U& |4 r+ l& f# B! J( W 00000008 -- Recurse6 E1 j' u5 d6 g' c k
00000010 -- Master# k5 s, @1 i+ P$ H5 h. r& H3 v" X
00000020 -- Secondary" Q. h0 `8 f2 W7 w% \, k. d! ]
00000040 -- Wins3 ^3 n# D2 T, M
00000100 -- Update
5 e# R- `* ]3 y: l$ w* |/ } 00000200 -- SkwanSec
) L& |+ S7 S" p( `7 ~/ e& ^ 00000400 -- Ds
5 r5 ]# m7 A5 _# W. ]& I- K 00010000 -- Memory/ [( x$ s, s0 D1 @7 z7 F- j$ P
00100000 -- PacketMem
8 P8 H- P- f3 V; E 00040000 -- Dbase
+ G/ S- D) H% ~. Y. m7 ?! U! F/ }" ? 00080000 -- Records
: v$ Z( M+ C) I 00200000 -- NbstatMem
2 J9 Z- r7 [1 D6 d 2.清除 /Clear
1 g' \. V7 {; s 这个参数用来清除统计信息。3 D" A! Y+ n a: U0 U# [
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
, C$ H& A* q$ L9 q. X7 f g1 r% Q7 p( _0 {9 Z% N( X
- e! y m$ w( G6 N% J# \5 Z
$ {# t. f N. g6 m+ [ \! p |