本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。9 q' ?# u$ u; E/ ~ S
命令: /Info % k- v" k1 _; L, c; q: `0 u' g8 Q3 c
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。5 e+ i7 a: ? W* a1 M: Z6 E( L
用法:: a1 J% ?' Q" O9 r- W
dnscmd ServerName /Info [Property] 5 }: k# O% z! E! Z9 j- c. F
参数:* `! [5 ^$ u- l5 T
ServerName , R; c p$ Y& I6 }/ E% J
服务器名称在上一篇中已经介绍过,此处省略。
$ j. v# }' x$ w' n4 m [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。% i: Q1 @" Z& G: g# w4 G5 }
下面是该命令使用的一个比较完整的例子:& e3 W% b v2 W: q, R
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:7 P& j( K4 a- U' M) o& M9 O h8 A
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
3 C5 u) H& C3 L, g$ l/ W K输出的信息:: q$ ]- d/ F0 p5 T0 [# ]. n+ M8 N
DNS Server 172.16.12.1 Information:
3 X3 B- y, \) D7 i! ], v I8 @C:\>dnscmd 172.16.12.1 /info; O! u& U0 O2 |+ G3 `. {, b
Query result: 查询结果
& R! Z$ x/ j( H# ?! E; t6 ZServer info: 服务器信息
+ F) u& A8 ~2 k4 r, {: ] ptr = 00074718 端口 C w0 R) ]5 c
server name = myserver.microsoft.com 服务器名称* m& o' F- T) H
version = C2000005 版本
/ {. _1 I- `9 |9 c- ?' h# V* M9 T DS container = c DS“容器”2 F! ]7 z$ L/ ?: i4 n5 r
Configuration: 配置信息 这些信息的含义请参考有关资料
+ Y$ |: u9 o- ^) [ dwLogLevel = 00000000
6 z4 r7 E5 }. y. T6 V* M2 u dwDebugLevel = 000000007 |( I' t# ^2 K; {4 n) V$ a3 o* S0 Y
dwRpcProtocol = FFFFFFFF p8 a6 q4 `1 d3 k- A1 O+ r
dwNameCheckFlag = 00000002* b* S/ U, X' C& S. r9 E
cAddressAnswerLimit = 0/ z1 X# S6 }/ n* ?
dwRecursionRetry = 3# k) u, C4 t6 A6 i0 Z2 [
dwRecursionTimeout = 15
% W5 ], |6 t/ W dwDsPollingInterval = 300! m+ |" {- n$ s6 ]
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
_: E' k8 h$ \3 C* r# f9 q5 H7 \/ RfBootMethod = 3 9 x. g. y3 o. s# P1 u: d( i `# R
fAdminConfigured = 1 2 l1 Z2 P* A- y, i- `* I, @
fAllowUpdate = 1
9 S1 B3 m% _. P2 Y0 _" QfDsAvailable = 1
8 B- ]: R' x2 l: |# v0 j. }fAutoReverseZones = 1
% _4 c+ E. s" jfAutoCacheUpdate = 0
2 c' W3 A( ^$ L) wfSlave = 0 - i0 p1 z) n' B: d8 B" `% k
fNoRecursion = 0 6 G9 D: s7 h) i3 `8 w
fRoundRobin = 1 5 q8 @* R }$ [7 q( S- F, @
fLocalNetPriority = 1 3 V, _, n! d* N5 _' R g4 s7 N
fStrictFileParsing = 0
" B) P! x( h/ H9 I0 nfLooseWildcarding = 0 9 E c- t a/ Y
fBindSecondaries = 1 & R5 d5 k" \9 N, G5 S
fWriteAuthorityNs = 0 ) t0 j, E3 F5 ?2 f+ Z% I* k
Aging Configuration:
' Q \# f4 F0 T/ N" l* BScavengingInterval = 0 * F* Y* I4 h7 l- i% x1 m6 g+ ?
DefaultAgingState = 0
$ F* H$ [4 ~$ }! h' c( t8 dDefaultRefreshInterval = 168 9 Q# N, m: o$ d3 t0 R3 S; H
DefaultNoRefreshInterval = 168 3 d/ z: S8 n8 e
ServerAddresses:
/ j- [0 I$ v2 O% l& {; \ Addr Count = 1
g' J8 H! T+ Z3 r c1 y1 O6 O- G Addr[0] => 172.16.12.1 D5 A3 G$ [% F, p' a, H8 G
ListenAddresses:& F' c& {' y$ |7 M3 p
NULL IP Array.- Y$ b* r% d: O4 F. \8 E1 R
Forwarders:) P( a* u7 d/ ~+ F3 z
Addr Count = 1/ w, Q: [/ a2 \! D$ v0 R8 A& R* W8 ~
Addr[0] => 172.16.4.31 U- B, d! G9 U# V" y" d
forward timeout = 5: C' ^- x, ]2 Q; z9 c+ {
slave = 07 u* j+ Z/ Y% N7 D
Command completed successfully.命令顺利执行完毕 8 S/ ^% o' q5 ^ @0 Y$ f
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
7 \- `' {2 k) F( U h" A5 M 命令:/Config
+ h( A3 F9 Y( F, M 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。 ^. q# x2 A& f/ n: E
7 p0 j: r. O# P, a
用法:5 \2 T4 V, k$ O0 ]7 d" y
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
' S7 W7 B, P- i 参数
% e% ~& C# }4 e9 N; I* @ ServerName :服务器名称,意义同上
* Z$ E: Y- Y) K ZoneName:' X0 M. ]) ]: Z& S
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
- ^) a4 |% ~, Z7 z Property:
* d1 T. ?7 l: y0 i 这个参数是属性。这里所说的属性有:
8 r. y/ x- M1 a6 v! g6 y 与服务器有关的属性:例如:
6 q# I2 I4 L/ l8 e: K6 m/EnableRegistryBoot/ ]$ ^9 p* h+ S/ h6 M6 b- Y0 z: l
/RpcProtocol
% ~5 N" g5 {# o/LogLevel
) k1 G! o3 `+ U0 f$ J3 ?; I/EventlogLevel 等等 (限于篇幅未能全部列出)3 q# F" r" B: Y7 g R. U# l. y
与Zone 有关的属性,例如:# v) }( ]0 y/ @! q H1 s+ c9 \) Z
/SecureSecondaries6 X! Y6 R1 m0 U
/AllowUpdate
3 x8 V! H5 D& w' F: D /Aging% k9 R: v" o0 ]3 ?. T# L
/RefreshInterval Value
U X" y5 w& ]! \ /NoRefreshInterval Value
F! t: c& f; J 属性值:* G# J4 a1 o; ] t7 D, e/ w- O
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。6 q! V4 O$ e" X! A- S
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。6 N0 l, ^" `2 F7 j8 U) L
命令: /Statistics
# l, G2 I w0 r+ ?# K7 f% T 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。 c* Z8 Z+ n, J; { P c- w
用法:
% w: ~" e( C" L* v) z& p dnscmd ServerName /Statistics [Filter|/Clear]
3 c- M5 D7 Z, l+ e$ }1 n, H5 @( D 参数:
0 c2 i3 M% Y# m" t8 r; UServerName ) ?+ R9 Z; U" d+ o# P" ^! H
服务器名称,含义同上。- q( Z5 _$ d' X2 b& z7 W# z
可选参数介绍:( l1 N' S2 i9 y P" n
共有两个参数,每次只能使用其中的一个。' y. [+ F/ ~9 |- c
1.过滤(Filter)
4 l; m* w( \7 x2 c. t" _. a9 F 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。1 M o$ `: b1 G+ A
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: & W8 h# T; [; P. u3 R
00000001 -- Time. F% u$ ]4 w; Q1 J$ W! r z7 h6 q
00000002 -- Query
9 o4 \3 H1 }" ]2 v! m 00000004 -- Query2
* p P' r6 U# z2 s. G 00000008 -- Recurse
* T. H1 \& h4 T! M2 O6 u) O 00000010 -- Master+ s' j3 d; d( a4 w# O7 ~
00000020 -- Secondary
: |. A1 r8 d% Y, s# O 00000040 -- Wins# _" N9 s+ o" c# [3 n, B* u0 G1 b
00000100 -- Update
' N6 Q8 H$ F" N" @: b! [! l 00000200 -- SkwanSec+ Y$ z" H0 y) O: ?! H# F
00000400 -- Ds
# Z" t+ C; ~6 G. K0 W8 U& k 00010000 -- Memory
! Z0 K$ Y6 a$ S4 F# @9 s* v 00100000 -- PacketMem
: c, B/ u; P1 K. Z1 j, u 00040000 -- Dbase
3 B# ^& o2 [: h+ b, T+ F- z 00080000 -- Records& {( ?& ]; E3 t/ R8 J& L1 k$ o
00200000 -- NbstatMem5 q! m* v% O" \" U
2.清除 /Clear 0 M1 D0 S: D% ?
这个参数用来清除统计信息。/ q( f7 ^$ @2 L& s! Y8 l
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。" n' O# C" `' v3 q
+ i+ h" j6 y- }3 }
5 Z9 Z0 a! ]4 g0 p9 e {
1 y, _/ w7 [" D( D% F, b: ^ |