本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
1 }* h$ k h, A0 a2 ]; Q" ]7 j 命令: /Info
1 N* ?" x+ @3 K4 ^0 }2 U4 O. v 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
9 }- X6 i7 d2 A, j& t 用法:
- e; @! l" M; f, _) Y dnscmd ServerName /Info [Property]
+ y& o& M2 v& k 参数:$ a. C! v+ p2 d/ u
ServerName 2 f4 V% {' e" w% W; Q4 `3 n! d
服务器名称在上一篇中已经介绍过,此处省略。
8 J! ?6 j% \" f, }0 ^2 J& Q3 u3 j [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
2 i0 l, k1 T* v) A 下面是该命令使用的一个比较完整的例子:
! ?# X2 ^6 c" y$ L 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:6 B6 Y- Q7 ]- v B
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
1 L( f! I8 S: m, [7 h k! Q输出的信息:' g3 a a+ j) j
DNS Server 172.16.12.1 Information:# e- Y5 X1 ~( J- F
C:\>dnscmd 172.16.12.1 /info
& p" T) q9 i& c) a4 r, c/ N/ TQuery result: 查询结果, F* y) i1 L* Q% S8 [' M- B
Server info: 服务器信息
- d' \( t4 s* q# _6 F ptr = 00074718 端口
5 x9 f1 e. ^& s5 D server name = myserver.microsoft.com 服务器名称
; Y# G; u4 }2 p7 {( r# i version = C2000005 版本; G8 P2 I7 F5 p- v( R
DS container = c DS“容器” s6 {! N- o T# I
Configuration: 配置信息 这些信息的含义请参考有关资料/ N' O" R# G5 v0 O
dwLogLevel = 00000000- |' A+ ^$ w6 Q5 O5 h% v
dwDebugLevel = 00000000' y r, X- Z; C) z/ Y- b
dwRpcProtocol = FFFFFFFF9 ^& a5 p0 b* A1 X
dwNameCheckFlag = 00000002' N! _- t# I; m) g$ ]
cAddressAnswerLimit = 0
! o' T Z* }$ L/ {+ R J' [ dwRecursionRetry = 36 K, L/ Z& H2 _ q K& t8 y
dwRecursionTimeout = 15
: ]8 A* Q) A1 h: w dwDsPollingInterval = 300$ X/ U, F0 ~! H& l2 t
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
, ^( |8 n' R- a4 Z2 V+ B EfBootMethod = 3
4 c1 c( D$ E3 \fAdminConfigured = 1
5 J+ t! d+ U, |1 b( wfAllowUpdate = 1
2 g j, M% g$ M3 Q$ E6 P2 zfDsAvailable = 1 3 P, ~/ R( S6 M- R$ C
fAutoReverseZones = 1 " R+ [+ g; t$ o4 T. N6 Q) L: n: V. t
fAutoCacheUpdate = 0
4 N" a6 v/ p8 I2 OfSlave = 0 / i4 a* S$ |" G3 V6 v
fNoRecursion = 0
! H0 t5 R5 E+ x6 `7 q7 ifRoundRobin = 1
) S& E( k9 I$ I# dfLocalNetPriority = 1 A) E3 z6 M, v( C5 ?
fStrictFileParsing = 0 5 Y9 F" I, N0 T0 X; j
fLooseWildcarding = 0
7 H" D6 W. P7 N0 A. I% r cfBindSecondaries = 1
8 N& A5 I" Y5 ]3 y& J" mfWriteAuthorityNs = 0 ' N7 J) T. k$ E: b4 F3 w: Z8 u
Aging Configuration:
" b' |' L3 F& K. W c1 hScavengingInterval = 0 5 y* \- ^8 ?6 R4 i9 m
DefaultAgingState = 0
" r8 \# H/ _% |- Y) K5 V1 CDefaultRefreshInterval = 168 4 b! ?3 U4 Y2 Q* I
DefaultNoRefreshInterval = 168 ( d: E. m+ U1 O1 t( Z
ServerAddresses:
* b- e5 u/ q5 r$ H Addr Count = 1
2 v4 E6 F: V5 ]% [9 [' G$ a$ u! B( p Addr[0] => 172.16.12.1
; u4 C- b# e0 }# P ListenAddresses:
- g2 y# @, m) E9 R0 w% N, M NULL IP Array.9 {0 e9 W+ N2 X0 K( J2 U
Forwarders:
1 k p F) T8 ~& s Y/ N; z Addr Count = 16 }; B9 }! C% D& g' p
Addr[0] => 172.16.4.33 ~9 g( g" w" f6 f4 b5 z
forward timeout = 5, x1 b2 l+ S) z! w* @" M# U6 @$ k* N
slave = 05 g) s: _' F' v4 k. S" |5 V* q
Command completed successfully.命令顺利执行完毕 ' a$ Q3 x" d1 U/ K5 ~
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 ( ]9 O9 g Y. w( M% Y
命令:/Config
8 G. ~- A1 u8 ^: l" f: t2 Y 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。. d# x' T% f( P8 N- ]1 @, j
1 h$ e0 P; o# j+ W- ~; l! @! q 用法:
, s( }! U3 @. M" } dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* v& C( o5 G9 h+ M) n: I 参数
9 `" k, F, p. y) u ServerName :服务器名称,意义同上
( Y! W2 b" V" q6 H* x# m! o ZoneName:
% F6 u, m& T4 i* b1 ]6 g1 x1 Z 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 & h: O- Q5 Z9 ?0 `
Property:
! M$ S8 ^# Y+ U5 [# T5 H( ? 这个参数是属性。这里所说的属性有:
& J: a3 i1 c/ ^0 _# X 与服务器有关的属性:例如:6 ~1 G* @8 M5 V! Z9 I
/EnableRegistryBoot0 B* l$ N4 G |3 u2 T3 Y( |
/RpcProtocol
& i$ [3 z: d1 d+ w/LogLevel
$ Z4 `/ j& A# m! f) f+ m/ A8 ~/EventlogLevel 等等 (限于篇幅未能全部列出)$ Q8 v1 m7 B V) m) {$ }
与Zone 有关的属性,例如:: _9 v, p$ ^" O5 Z8 D& Z, G; D
/SecureSecondaries! s% R U; k( M. U4 S" S, n
/AllowUpdate* d) _( s6 ~7 @: Z( G9 i
/Aging
: c9 w* j3 }6 z- @- b) p /RefreshInterval Value
. o/ S$ h6 x, l$ g1 H /NoRefreshInterval Value
7 W. E) ~$ Y- Y 属性值:
9 I F8 L4 o8 n$ B) M- x, X 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。1 m& j& w! V: N, E9 g
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
( z9 i, M9 I/ R0 e 命令: /Statistics
- Z* p. \5 S/ Z, b! j 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
. s1 z K6 r7 E# }$ q6 f9 ~1 A5 G 用法:
y* f& f& w5 {. Y2 `9 [$ f+ B dnscmd ServerName /Statistics [Filter|/Clear]
- ^1 @& }( W7 o7 ~: N1 D$ R 参数:
5 J7 Q1 p) ~# N8 oServerName
! i0 {, N5 B$ \服务器名称,含义同上。
, S2 T. @( g! [8 t* B9 _可选参数介绍:/ f% w3 p4 {( z' v; H" r: w% m5 A
共有两个参数,每次只能使用其中的一个。+ i4 ^( P0 T" h& `
1.过滤(Filter)" O2 Y+ ~, s4 o7 `
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
* Y8 o; U) A% Q0 a可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
6 V* E% h8 H7 Q% g 00000001 -- Time
! d1 E& }- g( c& o d& O 00000002 -- Query
/ c% f! S0 R6 o' ^) ]/ ? 00000004 -- Query2
, ?) ~& W0 X9 z3 j% y 00000008 -- Recurse
; g2 E: k$ b: H4 f: h# \) H: N 00000010 -- Master
- D9 B- s# N) L4 J8 s5 J 00000020 -- Secondary* f3 L% _3 r5 u0 ^* k* C
00000040 -- Wins
5 P. G) u e, c) |& `& Q9 t 00000100 -- Update
; _* V7 o! m. Q 00000200 -- SkwanSec8 @$ f; o# g9 C+ y6 v) X: V3 M
00000400 -- Ds1 P& `, Z; G6 M6 n# H1 I9 B) d3 n3 L9 R
00010000 -- Memory
- I* m- Q, s* F% b0 X7 V 00100000 -- PacketMem
( |; s- z) a% P/ M7 [) R+ S3 _. f 00040000 -- Dbase" M0 c( Q' ]( e+ |5 G9 S
00080000 -- Records
3 @ L! o, s; Z7 N! g C7 U 00200000 -- NbstatMem
7 H! t/ g/ O8 q 2.清除 /Clear . S5 q2 B* H |8 W0 c$ U2 P! x
这个参数用来清除统计信息。3 u% Q1 D6 R/ g( k# d! v8 Y. Y
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
8 p3 ]# v0 k( E `: F- |9 }- |
/ K* R/ d9 k/ w# `2 O! a7 n& k) m/ x5 I 0 Y( K" a" z3 D) I* p, W3 t
0 x; q, @7 s3 C }! V% t3 ?, a( I |