本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
# R* E6 W2 l; p, w; Z3 @ 命令: /Info . u/ v, Y5 A- V% L+ R
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
0 J5 A& Z9 R7 f: X3 k. J# }$ e+ f* P 用法:
* O: B/ v! f+ N _$ o0 j2 i9 n dnscmd ServerName /Info [Property] ; \! K. s( r; ^3 ~$ D0 l, W
参数:
: a9 G9 b- w& r) w6 e: N, _ ServerName 2 }' [8 F v) S8 q) q" X2 r& s
服务器名称在上一篇中已经介绍过,此处省略。 ! C! @0 B0 C: T# Z$ G
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
) t9 z/ x" w* R' F* I3 m8 ^: y- y2 V 下面是该命令使用的一个比较完整的例子:0 d! @4 x1 ~; z* B4 f
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:9 w* E# R4 Z% h z' i2 J
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
3 ~6 h# V6 @1 L0 ~输出的信息:
' ~1 g9 D; s, F, \DNS Server 172.16.12.1 Information:
; ?- s/ _2 G. jC:\>dnscmd 172.16.12.1 /info- ^4 k- V/ n: T7 X1 C% w
Query result: 查询结果
6 K" ?8 D3 z8 R9 ~2 u& ~; |) IServer info: 服务器信息- _9 v- m' n, h
ptr = 00074718 端口! d1 g. O# |# Z/ Y! Q P4 }: ^
server name = myserver.microsoft.com 服务器名称; S8 e w0 ]# g: S
version = C2000005 版本
, w9 N' N9 y5 i DS container = c DS“容器”) S8 f, e6 N, u- M
Configuration: 配置信息 这些信息的含义请参考有关资料# z% \8 c3 T, i: h
dwLogLevel = 000000005 x) s0 d& P) V0 {' I5 w0 _4 n
dwDebugLevel = 00000000
- L3 Z/ S, h. W- s& C dwRpcProtocol = FFFFFFFF
4 i' x3 Z) q* H/ F, t- N dwNameCheckFlag = 00000002" u! E7 a4 p: q! Q8 t
cAddressAnswerLimit = 0
! G9 S/ K/ ^. g7 G3 X7 R dwRecursionRetry = 3! y- U1 d$ f8 M4 C
dwRecursionTimeout = 15) B( S; X. Y) {& Y, x$ U
dwDsPollingInterval = 300! L6 }1 M G% `- z
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
% d# @9 D# f3 T& ~) H6 K! a# EfBootMethod = 3 2 U) [( m5 Y! {( [, w& `/ O- ~8 L
fAdminConfigured = 1
5 }! V1 ^/ W6 s' q% C5 M0 }4 O+ EfAllowUpdate = 1 / }7 h- Y, R8 {. H% }6 n
fDsAvailable = 1
+ N7 A5 m' b6 g- B5 p! ^fAutoReverseZones = 1 * ], V' A2 Y1 t* K' D4 ?; l3 |
fAutoCacheUpdate = 0 , R: G0 W- [. l$ p& B( ?% e
fSlave = 0 ; }8 c- _6 Y9 L1 [3 v
fNoRecursion = 0
& m0 ]5 j/ T2 v/ |8 P6 GfRoundRobin = 1
( N% p6 [- Y% p6 V3 I( YfLocalNetPriority = 1 , ^' K! ]# ]' ]' l+ |
fStrictFileParsing = 0
5 B+ l' s# y$ _- G' pfLooseWildcarding = 0
+ b; \0 Z$ i3 ?! O4 R. ]" h$ N+ z2 u7 NfBindSecondaries = 1 ( e5 d( Y7 {) |2 i4 x* b4 V
fWriteAuthorityNs = 0 6 F- s/ Z6 b( M6 R+ @, x" w% I5 e
Aging Configuration:
% r: C" w' E! T( [& ^9 t9 c" qScavengingInterval = 0 3 _% q5 ^" t; b
DefaultAgingState = 0
! Y- k1 v# r* [2 w1 CDefaultRefreshInterval = 168
2 u' @- M6 `0 H/ f! e4 Q$ G) l0 ^DefaultNoRefreshInterval = 168
! u9 p0 a1 M- {8 B ServerAddresses:
. S8 a) o( F' _( s$ U& n Addr Count = 1& l8 \, }- j( d+ a" E* T
Addr[0] => 172.16.12.18 {) Y4 Y$ R% Q1 C5 |8 |
ListenAddresses:- ~5 J, J7 ?4 B. Y5 E
NULL IP Array.
* E- R* z- @2 U0 l+ F Forwarders:
4 H( B- D: L5 l |& n6 O Addr Count = 1- U+ F* k% ^2 A
Addr[0] => 172.16.4.3
9 p4 D _2 P) ^8 _8 B5 \; T% D forward timeout = 5! k9 ^) T( x" z. O8 I
slave = 08 X2 W, E! }& ^* m
Command completed successfully.命令顺利执行完毕 ' S1 h8 M. F+ J7 z
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
% b+ t8 t7 k: [ 命令:/Config) M" J- M/ |0 G3 y* L7 {# j
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。- M( _! ]# {2 r8 X+ c, _' W( L/ v2 O6 x
5 E; Y& X$ {9 W4 D
用法:
2 w$ q5 c2 i4 g& s dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
+ c8 j d. z0 X3 ^. s 参数" J* H# J. t8 ?5 H: _: ^
ServerName :服务器名称,意义同上 ) f% m+ n( w4 `' d* h
ZoneName:6 K" p6 P& y8 W0 |5 ~* C$ s2 P2 h& g
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 1 q* q. t# ]/ K1 e0 t- c7 A
Property: 3 h# V! a5 m) Z2 \
这个参数是属性。这里所说的属性有:2 R8 |5 x/ D9 ]$ q
与服务器有关的属性:例如:! L$ w4 c0 W/ x( n* l$ D
/EnableRegistryBoot6 t L* D2 t3 E! |0 A; V5 ~+ u
/RpcProtocol, [1 S% z' [6 V% _0 D
/LogLevel2 f3 y4 E3 g0 P$ T' R% t( s
/EventlogLevel 等等 (限于篇幅未能全部列出)* A/ l8 @$ O0 ~, p: P
与Zone 有关的属性,例如:8 M% a7 U* m. p3 f5 h
/SecureSecondaries% U" o) i6 p* R1 n) |5 O, M
/AllowUpdate6 d+ p J z3 i: r5 w J% x+ F
/Aging
4 O; m0 s7 o- c: L8 y7 M/ e9 P /RefreshInterval Value# D k* o: _3 @
/NoRefreshInterval Value
& d6 g: |& {/ Z 属性值:
7 Z9 ]& x" Q/ |" k- z/ J 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
, E$ f# g9 n1 t' i d从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
; p0 K. D8 b A 命令: /Statistics. R) |- b% |, ~; Q7 |5 V) ?
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
L8 B8 [# F$ @5 l8 z5 R; X 用法:
}; P8 A5 G |* J; F& L dnscmd ServerName /Statistics [Filter|/Clear]. U2 P+ f3 o/ D
参数:: x0 K- [* D: u% z
ServerName
) S& I) `+ t3 ]2 U% B& f服务器名称,含义同上。
% G# S. \! X& V9 ?' }5 ]! T可选参数介绍:
# I9 ~' X4 E- i共有两个参数,每次只能使用其中的一个。7 [. k G) g, }: o" b f
1.过滤(Filter)
4 T8 Y6 |+ l$ | Z 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。5 ^: d- F2 W6 y- H/ |
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
8 y; L- p+ [9 [8 J2 e( r 00000001 -- Time, o* Y9 p$ T. n$ ~$ ~* r$ u- N
00000002 -- Query$ Y6 X5 x! W- }: U) C# [( C. C' J
00000004 -- Query2/ U) d3 l, N O7 V
00000008 -- Recurse
: V3 Q# W; U h8 \$ F- w0 F 00000010 -- Master+ M. `6 s8 ` W6 |: m1 p
00000020 -- Secondary2 x8 k% S+ D1 D: d% |4 J6 K
00000040 -- Wins
4 }+ h9 \5 |. n+ H& }: j 00000100 -- Update! A0 Z; d3 J2 d% L9 D+ }0 S
00000200 -- SkwanSec
: q0 s0 p4 _/ y% C# x 00000400 -- Ds/ N5 c. h' r( u5 |2 s, H1 d+ D9 H
00010000 -- Memory
9 f& J5 i; Q: f0 y: b# R7 D3 P 00100000 -- PacketMem8 @9 Z& R8 s$ h; u3 Q, j$ ^- a
00040000 -- Dbase
/ F7 l7 W) B5 K) u' a' C 00080000 -- Records' y; ^7 i0 f% r3 z1 d S
00200000 -- NbstatMem+ _" z* z( V& y9 h
2.清除 /Clear
: Z7 O% ~6 G$ }( C$ d 这个参数用来清除统计信息。% y7 n1 D0 V2 U. W9 A
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
" ^, }4 G# Y1 m1 g7 p+ D0 j- ~# q' T9 {* J4 m% [$ m: F% X& w% A# K
% E: u: t3 u( w6 p+ {! j" V& L
' ?- C* g1 L% ?# z7 V, t
|