本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
3 K a0 d) U; G$ h/ E0 E 命令: /Info
* W1 V4 o0 W8 K8 Y 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
/ F, E3 F8 ^! b) O# t 用法:5 r& N N; \' k- o: ]
dnscmd ServerName /Info [Property] : N: ?' ~/ \5 A) [2 d6 {! O3 D
参数:* k9 j; M8 ?0 v
ServerName
* o8 H* t( X k) M1 j 服务器名称在上一篇中已经介绍过,此处省略。
# V6 A3 E* x6 A) w [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。5 X3 a/ |9 ]; @2 I9 x
下面是该命令使用的一个比较完整的例子:
1 V( E5 w' q- x# ^: I" U( c: o+ J 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:4 c* }, A- [2 P# R' b
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
' ? E( v2 _/ q* L5 L输出的信息:
( \7 Q7 d4 `, X+ F2 a: q' W, FDNS Server 172.16.12.1 Information:. P4 L3 k; T/ |! M$ W* i
C:\>dnscmd 172.16.12.1 /info5 i$ R3 j# Y2 S3 \* I4 r5 f" ^
Query result: 查询结果
n& x0 @% O @& @Server info: 服务器信息
% S4 C9 ]1 X$ l5 e- I ptr = 00074718 端口! d- s* ~4 H2 B1 [+ ^
server name = myserver.microsoft.com 服务器名称% } j6 d: P5 d, X: g, L0 i2 Q9 ~7 M
version = C2000005 版本) b6 C$ e2 I# V4 e- o: o
DS container = c DS“容器”) q) Y0 Q' l" H: C% i6 v
Configuration: 配置信息 这些信息的含义请参考有关资料
% l9 B( J5 \# j6 b7 S( E0 g dwLogLevel = 000000007 c" i/ V3 i/ C( W/ {
dwDebugLevel = 00000000) s3 `) y; q" E. z! B3 G
dwRpcProtocol = FFFFFFFF
5 Z e" i2 |' `, e9 P1 g* z dwNameCheckFlag = 000000024 ~ g9 K v6 L/ {) N' t1 D! v1 Z$ V5 `
cAddressAnswerLimit = 0% v% d& j' x2 U! u+ d: J2 `
dwRecursionRetry = 3
1 U1 d0 d7 u% q- H$ o dwRecursionTimeout = 154 J+ e" }( _9 I' U9 G) U! B) ~
dwDsPollingInterval = 3008 i' E* m$ S$ t
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
* S& ?3 }2 F" K( Q1 |fBootMethod = 3 ) b2 u( r1 |0 @' H$ s+ l- m
fAdminConfigured = 1
4 C5 ^4 ~7 W9 I t7 mfAllowUpdate = 1 * G. q4 z; C: ?- V% {
fDsAvailable = 1
' x1 `/ R, j0 p$ S5 O# pfAutoReverseZones = 1
) j) X B7 F3 c& @fAutoCacheUpdate = 0
# Z& e: M2 X) d3 D7 X6 [8 }fSlave = 0
8 ^: h2 D0 S. s) B$ ?' B( afNoRecursion = 0 2 E0 e( m3 o* |3 \, F, d
fRoundRobin = 1
( E% Q5 J) i; g5 l5 CfLocalNetPriority = 1
' k- S3 D* x5 w0 t1 T: j- A/ yfStrictFileParsing = 0
+ x, P$ V) |5 b" ~; c3 M/ PfLooseWildcarding = 0
7 [$ j. ]7 U" a0 v/ Q$ G$ A* IfBindSecondaries = 1 4 h+ s# `( l3 r
fWriteAuthorityNs = 0 ; U0 T+ ?& Q4 m% S* t
Aging Configuration:
+ z6 A1 ~: q# Q1 y3 ]" q0 TScavengingInterval = 0
- I! u1 L& l& {% ]* JDefaultAgingState = 0
) Z$ S3 P) Q' |: m7 \0 fDefaultRefreshInterval = 168
. B( r3 F- E, ^' [! V8 FDefaultNoRefreshInterval = 168 : J7 ^- H. G6 s5 ~2 U6 V
ServerAddresses: 7 P% @' y: h/ U! t, J Q
Addr Count = 1
) ~2 c, ~- U$ t8 Q5 }8 Q1 d9 Y3 g Addr[0] => 172.16.12.1- [: s- q7 L% Q9 }9 e: C
ListenAddresses:
/ N& m$ \4 W9 @8 _2 g, W5 r NULL IP Array.. Y7 c7 ^! ~# s, _3 ?# k1 E
Forwarders:6 P2 ~# E R' {. L
Addr Count = 1
|9 p1 ?2 O6 b Addr[0] => 172.16.4.3
. T2 n& |. b1 S0 c! ~ forward timeout = 5' a# b: U7 a" i" t( ^2 [
slave = 0
% n5 ]! H B; A3 @ mCommand completed successfully.命令顺利执行完毕
0 M# x3 P. N i. X2 x 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
' @% Z4 s% a! I, O* e 命令:/Config: b0 K) e) a( G% L. S) [6 O
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。0 S( @, |$ e0 M
5 R. D; O" \' C$ a5 x
用法:
5 |# a* A3 d3 q. U" f @ dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
3 A) W! y. d- z, @' b8 z 参数% `& @0 d* I! f# W A- }
ServerName :服务器名称,意义同上 " w. z0 U3 h3 } p/ I
ZoneName:$ p) J& n7 R& E+ S
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
% z0 d* R% [) y. h. N6 j- P Property:
0 v: l6 B8 d. W3 S- I6 O! \ 这个参数是属性。这里所说的属性有: `, ?3 }% V7 A8 w8 }' [% \4 M
与服务器有关的属性:例如: \" ]& e" F+ I
/EnableRegistryBoot
( c: u# T& W4 C6 M1 [# A* s' L/RpcProtocol
0 Q- t) z5 \. n& H! M; m/LogLevel
; k5 ^1 H' D. X+ C& N/ k9 a5 L% {/EventlogLevel 等等 (限于篇幅未能全部列出)
2 {' d+ z/ w4 ]! B ]) a与Zone 有关的属性,例如:6 L- t8 b: h) ^. m9 K9 z6 o
/SecureSecondaries
8 a% p- L! {' A. K+ m. e6 ? /AllowUpdate
. _2 l, C% a0 S% X _: j' ~( I, O5 K /Aging
. z, |4 |- |4 }0 A$ t4 { /RefreshInterval Value
4 c5 k+ ~: {2 i5 U* h: ~( t /NoRefreshInterval Value
5 s9 ]/ c' k, y, [& I5 W2 K 属性值:7 z/ n* s9 a1 K/ w' P
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。* }8 l$ h. V( l4 z
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。9 ^. j& p, F; c" w* C# N
命令: /Statistics
% V1 w- k# p% `+ R" k 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。! V& V0 x9 h: W% L& I7 e
用法:
& V+ Y0 T4 `! c9 d% k: O6 K" _ dnscmd ServerName /Statistics [Filter|/Clear]
2 J4 f0 s) R8 {+ ]0 \. u2 L 参数:- |4 u& s9 _6 v: Y- A
ServerName ) B! g% n- y; r
服务器名称,含义同上。4 `2 S1 \: {( t7 c6 _2 `
可选参数介绍:( U5 C, Q5 K y
共有两个参数,每次只能使用其中的一个。# x; G% Q( M# _- }; |
1.过滤(Filter)8 b1 C# X+ Q. H2 Z
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
2 ^5 H. D9 Q) x4 X& P可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: F3 F' r" C8 g5 q
00000001 -- Time5 A$ e, }$ ?7 ]$ [! Q
00000002 -- Query" U& P1 A8 G6 }2 U5 ^
00000004 -- Query2
4 U: j: y- I# h+ o+ M4 o7 O V 00000008 -- Recurse
( `1 @; q9 X# w9 { 00000010 -- Master
3 e3 b& z/ q- p" ~! r 00000020 -- Secondary
0 p6 Z' F9 \+ N3 [3 k6 c6 L 00000040 -- Wins
2 v1 A8 T0 L# V0 U: [) p 00000100 -- Update' f4 C2 S! N6 M9 c
00000200 -- SkwanSec
) u9 w4 I4 @! a 00000400 -- Ds
. X7 a3 d! S1 @8 Y1 X& R1 A. ] 00010000 -- Memory
5 N0 C) }$ V: d$ S* x- N 00100000 -- PacketMem0 K3 X8 w( M/ I6 _+ `
00040000 -- Dbase. C1 I; i; u. \, D" x. A
00080000 -- Records
( o' e7 u: a8 [$ ~; u- c4 W5 y1 N) P0 q 00200000 -- NbstatMem, I* a( Q& P. S* v5 |
2.清除 /Clear + y a$ G; ~0 ^
这个参数用来清除统计信息。4 p$ Z3 o( [/ y: k7 e' ]. [
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
( W5 i& i7 L; x& X
& A( i. Y/ w$ u& z2 T* B' {# G5 }
: `3 B$ x8 z* s0 `$ A
. x0 G$ i+ c4 t" ^3 a1 b- ~5 T |