本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
: i( u5 _% ^) q H 命令: /Info
) l% F' W! N3 J( _ 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。1 r( p7 `& h4 A6 N# L3 Y
用法:
8 w# a8 x3 ~6 X/ \4 T# z0 E+ v dnscmd ServerName /Info [Property]
T" p# ^7 B( P0 S% e& F/ ?5 Y 参数:
! T* t9 P! I( ^, L; E ServerName
% b/ q( F/ z5 e" F% D6 }; k+ \ 服务器名称在上一篇中已经介绍过,此处省略。
+ o+ S- W: U% e. @# q' t5 Q. e [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
; ^1 M/ W% O* w* [3 c 下面是该命令使用的一个比较完整的例子:2 Z* u( y8 |' C% a7 m" J
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
9 S7 ^0 S/ N4 [dnscmd 172.16.12.1 /info 只使用命令而不使用参数5 p, N# N } p# l6 C, s0 ?
输出的信息:" f" d6 l8 r: [! R4 }
DNS Server 172.16.12.1 Information:1 r# L/ Y" S2 d) ?4 J% U- ?+ l
C:\>dnscmd 172.16.12.1 /info+ Q" `, I8 w& O
Query result: 查询结果
! q3 X( ]2 s8 R0 b; TServer info: 服务器信息
: j6 H1 n5 F- S1 M) q ptr = 00074718 端口' P {+ R. g# z, r6 |
server name = myserver.microsoft.com 服务器名称" V) Z& C& ]3 X2 H+ }7 [4 b$ i6 c, \
version = C2000005 版本
* j8 P% d5 X1 Q9 F. I DS container = c DS“容器”
2 U# n( c0 C0 D6 I( M2 Y' X9 w4 O9 O Configuration: 配置信息 这些信息的含义请参考有关资料% X% U' d; p0 p. K
dwLogLevel = 00000000
6 R' l. I1 E3 r' z" |" w dwDebugLevel = 00000000! {) }7 J) e: a) u7 h
dwRpcProtocol = FFFFFFFF
: ~! Z+ d8 C% L5 c+ q: d dwNameCheckFlag = 00000002
1 _0 C; X+ a2 R cAddressAnswerLimit = 0
/ D; h3 P1 x5 X L, F1 r8 y, \ dwRecursionRetry = 31 b' [8 Z, X+ `& Q
dwRecursionTimeout = 15
6 [ z# P% o+ w( f4 l% m6 K- P dwDsPollingInterval = 3000 \+ F+ E) X) F' N. v
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
- p! F- K4 ^; R, _. p5 w$ ]fBootMethod = 3 ! D2 F% R* b# V# b/ }2 x: a& ]
fAdminConfigured = 1
1 _8 ^; b) m* U" W: O- K _fAllowUpdate = 1 8 a; L1 G! M9 t# a
fDsAvailable = 1 . I0 P9 N5 ~* B* V, z2 }- u4 X
fAutoReverseZones = 1
% W0 y! v, W" T( }) f3 @9 efAutoCacheUpdate = 0
" T' i% ]! G; P& U' JfSlave = 0 ( W& ~' L& v5 i: Z1 I; {9 J" g) u
fNoRecursion = 0 9 Z2 O( {% S7 h' `3 U8 l( t
fRoundRobin = 1
3 q& c/ r% R1 A& T! `6 \& z U$ SfLocalNetPriority = 1 * v0 q5 g4 J5 m4 T% |
fStrictFileParsing = 0 " X5 F, W' ~& j' Q; ]9 a
fLooseWildcarding = 0
. e i7 x% n3 v& e: g4 _* A8 VfBindSecondaries = 1
& [* g* o! W8 T6 e5 pfWriteAuthorityNs = 0
6 w1 D$ I H* x& T8 n% Y3 {3 o* {Aging Configuration: : ]. Q0 F9 @$ y" Z' ~1 O
ScavengingInterval = 0
s; v7 m! [$ f1 g; s2 I. M6 }DefaultAgingState = 0 / G; l. l3 i- d) n
DefaultRefreshInterval = 168
1 f5 P+ J% z- u4 UDefaultNoRefreshInterval = 168 + T1 M7 p' X, A3 {$ O7 r
ServerAddresses:
" _- r1 ]& k1 b# f E Addr Count = 17 z' j+ x) h) \; O$ o; O! Z
Addr[0] => 172.16.12.1
* |8 | p4 x/ f! l$ O/ v; Z ListenAddresses:; I9 b* ~1 d8 w" q7 n H
NULL IP Array.
, W7 {$ P- P. i) G Forwarders: J5 D# ~: s. c
Addr Count = 16 K" u; L; I8 |- P# ~. w" k
Addr[0] => 172.16.4.3
% V4 ?8 M6 e6 ^" l5 G) T3 _ forward timeout = 5
! V- e& p6 @; d: C slave = 0
+ j! x# S8 }; ^% [# lCommand completed successfully.命令顺利执行完毕 o4 _ f' ]) ~8 Q+ [$ R2 p" q
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
+ n& d, R- q0 K) ?& n' Y 命令:/Config8 t5 q$ W( n$ q6 S" R
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
/ I4 W) `; l8 I, P- D# z4 `0 n' B( s4 ~
用法:
9 N3 D9 i) L8 I* N; ?0 [( N# o dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
2 N' I9 a, t6 z& P; S W) C 参数
9 y: X f; \1 y& ~( k3 [ ServerName :服务器名称,意义同上
. o$ |+ V/ X- b6 \: _( M ZoneName:) n; J- a& I( t
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ! Q$ ~+ f! |4 n' m D
Property:
; e& D; L" c0 n 这个参数是属性。这里所说的属性有:. D$ ?. s8 N/ |3 I' Q, R& B6 U" J
与服务器有关的属性:例如:
0 |7 a" } r5 D) [- f* L6 }/EnableRegistryBoot
+ }" }6 N4 W1 Q, b# q. ^/RpcProtocol2 D) l9 G' Z; L" N h
/LogLevel
# O9 F; m7 k& ~+ }& Q/EventlogLevel 等等 (限于篇幅未能全部列出)
- m6 J& m4 ~! c8 o. {0 K8 M与Zone 有关的属性,例如:
0 F0 H- V9 H. X$ W, Q' D, s /SecureSecondaries9 i+ l4 b3 `2 K: r
/AllowUpdate6 @/ I0 e7 S4 ?
/Aging
/ ]+ g3 v4 \' i6 M3 V /RefreshInterval Value# ]1 O$ Y% g% M3 g$ j) ^
/NoRefreshInterval Value- E" b1 v" V. `& n
属性值:
" s( {& @ Q$ u# e6 |8 L 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。9 k7 ^9 k6 ?( q& t/ }
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。# J" Z% @2 q8 q: L# |
命令: /Statistics8 p( t& {+ E+ X2 N- L; ~8 X
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。3 H) C8 a- r+ U8 @, V
用法:
( s( G7 y! X' m, f1 i dnscmd ServerName /Statistics [Filter|/Clear]
$ a3 R! G x! L 参数:+ d- X9 ^8 m( Y ?
ServerName
8 j0 r1 @! O1 `服务器名称,含义同上。* H, U0 m2 n s# E% t; X' R
可选参数介绍:5 R" k8 a: \+ Q+ v3 o. ]( C# X* O
共有两个参数,每次只能使用其中的一个。
5 \" {8 U6 M3 g3 P, U" o 1.过滤(Filter)
! D6 @& ]. c' v$ k1 y 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
8 }" [. J9 \3 u: v/ l* {; c T9 c可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: * J; D' K* e: v$ U& T" q# K
00000001 -- Time
' a( ^3 D; M/ ^! G1 r9 }0 V 00000002 -- Query5 t, D, K& c% ^- ~4 O' a8 y( ]+ G9 L
00000004 -- Query2
$ i1 P9 M n! K: Y" _+ w& x/ |) x 00000008 -- Recurse* ], g9 U5 @' u0 v# g, S% M; _
00000010 -- Master$ ^6 g" E& r( ^
00000020 -- Secondary
, M. B9 P# f5 s( g `. ^4 a9 I3 K 00000040 -- Wins6 q X+ n* j' H. J9 k6 Q) M
00000100 -- Update J& P. e# b6 d
00000200 -- SkwanSec
h% K! \1 a a! ?; ?/ u1 W7 N5 s- M* i3 N 00000400 -- Ds
3 B4 M3 E4 W" f `4 M$ D 00010000 -- Memory% A, q6 w6 i. g
00100000 -- PacketMem+ O* C2 `0 ~* Y B* s' F
00040000 -- Dbase" i# _- Z( E* O! }
00080000 -- Records$ {$ g: S" V$ f J
00200000 -- NbstatMem
9 B- _7 | u- X" ~; I5 ~ 2.清除 /Clear
# L6 M& s. X8 ?5 `# {7 T% x/ \2 X 这个参数用来清除统计信息。
* w4 t9 V; t& J- a 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
% l) T; S' I; {" q% c1 v% ^ p/ |
* k, p/ k8 \9 o+ D# y , ~2 U, x1 l# K" m0 j
7 ?" a: Q6 i5 o" { |