本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
6 R$ Y( ]$ }& Y/ _( ? 命令: /Info
' \5 M9 Y4 h H0 F/ e+ s% T* { 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。! o: [. t+ C3 h! s, @7 B
用法:- ]4 H) Z3 I% ~1 I+ O! w
dnscmd ServerName /Info [Property] % V w1 k- t, A9 b# R/ F0 h
参数:
7 {( D, |8 m( L: E7 P4 M4 o {# t ServerName
( `, H+ F9 O- @1 i! t+ V 服务器名称在上一篇中已经介绍过,此处省略。 " M7 }7 z6 a; z x+ t
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。, b2 _+ L9 m! Z& J( a
下面是该命令使用的一个比较完整的例子:1 {" w5 a8 s7 f9 v+ F
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
* f) [! k. ~; B( [7 o; K. [. hdnscmd 172.16.12.1 /info 只使用命令而不使用参数/ T) l1 V) L) W
输出的信息:' B! w/ a2 D- |1 @ y
DNS Server 172.16.12.1 Information:
3 c, N( |2 P7 b u) GC:\>dnscmd 172.16.12.1 /info5 f. |' U/ `2 z
Query result: 查询结果
l' f/ D. V3 Y8 AServer info: 服务器信息2 b" I8 y7 j8 D Y
ptr = 00074718 端口. }3 ~0 z& L* r* {
server name = myserver.microsoft.com 服务器名称
3 _8 B/ W$ {; _ version = C2000005 版本
# O8 S- ]% x" I$ \. g9 n9 X9 Q3 G/ E DS container = c DS“容器”1 W m i9 c8 X) ?0 T
Configuration: 配置信息 这些信息的含义请参考有关资料4 B% k3 H% |7 p; g" F; }9 O
dwLogLevel = 00000000
. E; @$ {/ r& G# {$ V' O# `6 Q dwDebugLevel = 00000000
' v8 _0 G7 g6 C dwRpcProtocol = FFFFFFFF* J( k$ G" D' x
dwNameCheckFlag = 000000021 i" u; t+ A" ]+ Q& g9 E( ~
cAddressAnswerLimit = 0
2 q. i* B9 b; v# b dwRecursionRetry = 3
: O i' {# d+ n; b/ R1 ` dwRecursionTimeout = 15
' W& O8 N: |) ?6 e A% n" l dwDsPollingInterval = 300$ r. w2 C2 f9 ~) P$ \
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
) G6 g. j& ^; f! R$ `# N" q2 j rfBootMethod = 3
0 R" ^7 S! I8 o; `fAdminConfigured = 1 ' Z8 Q2 @) b" E+ [5 E, O
fAllowUpdate = 1
8 l+ O+ w" C2 q8 G3 ]0 hfDsAvailable = 1
1 X9 J6 k, T( q( {) r" kfAutoReverseZones = 1
$ M( r" Y. ]- O4 o, N1 gfAutoCacheUpdate = 0 , u# K) A9 ^" T Z
fSlave = 0 4 J* {% s. w, U5 H: J/ |( h, m( }5 p
fNoRecursion = 0
5 N- Z2 r/ v& ^, B' t# EfRoundRobin = 1
8 o4 Z U6 ~4 M) `4 LfLocalNetPriority = 1
( O9 q; n& y6 I. ~5 ?9 G$ h( _: YfStrictFileParsing = 0
+ e) m# W! x# ]: z. XfLooseWildcarding = 0
* j5 h* U8 v# HfBindSecondaries = 1 ' d% _- y# W+ h% \. l; G8 c) E
fWriteAuthorityNs = 0 " J7 `& e! j- B/ w% O- X; T* e! K% ^
Aging Configuration:
/ r3 F; |) O! G: ?% ~$ IScavengingInterval = 0 0 w5 c& y* z) g) T4 i% n
DefaultAgingState = 0 ! i2 d2 L* ~8 v c/ f/ s
DefaultRefreshInterval = 168
: n4 @+ P4 M& ~- H# L4 e+ DDefaultNoRefreshInterval = 168 : D# y. G- S. j9 j* R
ServerAddresses: - ~ Y( F5 v7 R* m! _2 E& s
Addr Count = 1% j* O5 R9 w2 _9 W/ L. l4 F
Addr[0] => 172.16.12.1 b; t) E/ X+ W/ @5 ], _
ListenAddresses:
7 `, ]9 z: y+ ?0 m NULL IP Array.
2 s' `/ i* ?9 B7 M' D Forwarders:
. _( S! @( O; ?* C- ^ Addr Count = 1* M! j& }! G! S5 l) ^$ V
Addr[0] => 172.16.4.3, |+ l/ t' b* X3 j, { T/ g/ S
forward timeout = 5/ ^; G1 m" }1 L) @6 g9 b8 v
slave = 0
3 B4 w8 ^$ }' Q9 |: h' O6 VCommand completed successfully.命令顺利执行完毕 6 @5 ~; a9 S& O
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
6 p% u- F" T: ]8 @ 命令:/Config
' I$ ^8 U* Z. G2 d 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
; t1 P* a% M4 z; U- S9 {2 \& |4 w- b+ b$ M
用法:1 _/ ]9 C# f$ y3 c- @
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value6 u! q6 m( J0 {; M6 t
参数
( T5 ]4 W0 r# V* G& \ ServerName :服务器名称,意义同上 6 C: J8 x- A! @$ j- U6 d) Y" Q( \, b
ZoneName:
! M+ N0 b) v& |) |" ` 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 1 c$ J4 `5 M$ ^. N
Property:
. T' G/ U* y Q2 W8 q0 p& ^ e 这个参数是属性。这里所说的属性有:
( H/ Z! M. O! ~) d$ R5 G. R 与服务器有关的属性:例如:2 v7 x- H2 z! T
/EnableRegistryBoot
1 r, n% I' }! ]; S+ R2 c. ^0 {/RpcProtocol8 v b% C3 f3 V- P
/LogLevel
! ?4 L/ d9 P) o( s/EventlogLevel 等等 (限于篇幅未能全部列出)- d/ J- {' T% C# n1 m+ j1 u
与Zone 有关的属性,例如:3 ]6 x! {- s1 v7 Z$ c5 S. E
/SecureSecondaries" A( Z) Q# r: [- }% m3 D
/AllowUpdate. i( u3 m/ A; o) {0 A
/Aging
' Y: j, m$ {* j" ~4 R /RefreshInterval Value3 Y$ S) U4 O" q5 r/ t
/NoRefreshInterval Value6 B, g: K B1 S! R3 D: ~
属性值:
9 N7 B) @0 D4 s 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
* ]* C- Q* K+ b! S从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
* U# K) G( I5 r2 m+ l5 r 命令: /Statistics
# q/ l# `/ g# Y2 z& [8 C 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
# T6 o& |. I: l" [& k8 ^/ D) e: x 用法:7 i2 H/ }9 t1 m: i1 `
dnscmd ServerName /Statistics [Filter|/Clear]
9 z. H: X) @' o) | 参数:$ U& d- {: g" g, d
ServerName 5 b ~+ ]$ c) \
服务器名称,含义同上。) `/ N( }+ V! e( P5 O
可选参数介绍: E, }+ F! \. U% }, P4 U1 E+ k
共有两个参数,每次只能使用其中的一个。/ `' `! C$ R5 C" Z2 G9 H
1.过滤(Filter)
! w9 a. i$ F% d5 m' T/ P- T; D 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
& z K( a5 E! Z, J可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
t5 X/ L. e- { 00000001 -- Time
+ ~( \6 ^0 m7 z* q9 {; w7 o0 F& \" c 00000002 -- Query! ^4 D/ I9 A/ V
00000004 -- Query2
6 \1 e e, B/ S5 S1 @% L 00000008 -- Recurse
|; R$ \7 Q% W9 s9 o9 E 00000010 -- Master+ F( Z$ |- i% r4 M6 l8 i( X4 T9 u8 O# R
00000020 -- Secondary
+ ]" _1 Y" S x! u. y# o$ m, X- ? 00000040 -- Wins" z; K- J4 Q$ i
00000100 -- Update
: l+ D8 G% R' e8 N7 B: p( J 00000200 -- SkwanSec& V( P5 n5 N! Y
00000400 -- Ds
# k" z0 O( g" O 00010000 -- Memory( d: N0 e' n- u6 m! I1 k" M8 C
00100000 -- PacketMem3 V5 l8 x; W1 W# H
00040000 -- Dbase* ?/ i- v( K3 E8 Z0 Q! r0 W$ u
00080000 -- Records/ O- p$ b8 z' Q. ?
00200000 -- NbstatMem
C5 Y0 u4 ?- e& C 2.清除 /Clear
) e) r2 _" u' W, D2 ?' w 这个参数用来清除统计信息。, d) Z$ h) p$ @7 j9 W9 m
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。5 q K( I/ D% q4 d7 A- T; f
/ B5 z* v# B# o4 |$ d
7 n4 p K6 ?3 _8 c6 A( ]# t! ]
3 \+ C+ R$ A& l0 }+ M% T# j |