本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
/ v: x" Y& M4 V 命令: /Info ) i* }3 l: x d! ?0 k
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
! ~ Y+ Y. i* o/ I/ @4 {3 g 用法:
, h" J2 v# t) Q. F, _ dnscmd ServerName /Info [Property] ' B& v9 L/ P2 j$ z! k
参数:$ V- v2 N+ J# ]: _# S& k
ServerName 7 ?+ l/ ]; J8 Q0 q
服务器名称在上一篇中已经介绍过,此处省略。
' }4 a+ \8 q) G [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
7 L* I& u2 }! {1 o, A9 D 下面是该命令使用的一个比较完整的例子:
- m. D v. h I: r1 |8 E) U- M 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
" X% h: n1 m) Y& [% Q( [/ Idnscmd 172.16.12.1 /info 只使用命令而不使用参数
* p# k" M1 d2 e输出的信息:: Z Z9 J/ R8 R
DNS Server 172.16.12.1 Information:
# [1 J" O9 _9 x! I5 ]( ]C:\>dnscmd 172.16.12.1 /info3 w/ _4 n* o( p1 R2 ?' I
Query result: 查询结果$ l- ?! a- h: F/ z5 d* g4 e
Server info: 服务器信息% @9 \! n) o# z6 R4 g* ~5 `0 U
ptr = 00074718 端口 D2 i/ s$ u# s! h: _5 @+ X9 Y
server name = myserver.microsoft.com 服务器名称0 u, g/ h: D0 k6 } N
version = C2000005 版本
. z7 ~/ D* ~6 O! x6 Q DS container = c DS“容器”
0 {% ]& T6 i; L; e8 Q v5 p Configuration: 配置信息 这些信息的含义请参考有关资料8 b4 |' x+ j& H! Z
dwLogLevel = 00000000# Z, I2 S/ y. s, i& e
dwDebugLevel = 00000000
4 _/ q! p4 |& \+ y" |9 ] dwRpcProtocol = FFFFFFFF0 o( u. Y& |, F Y3 e$ \: h/ o& c* [
dwNameCheckFlag = 00000002
$ h. |1 C9 G! B- P& q/ Z cAddressAnswerLimit = 0
; g& I1 ?$ c# n( |2 ^1 a dwRecursionRetry = 3
6 w9 X+ u/ Z. b# l( L, b; U8 J dwRecursionTimeout = 15
+ d, }7 s) u; i dwDsPollingInterval = 300' w& q( @( _/ M% l
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料; I8 Y0 \) g" S, p
fBootMethod = 3
0 [7 _; G( D HfAdminConfigured = 1
) K( Q4 y0 o5 R7 A: i, cfAllowUpdate = 1
, v# }3 J9 N# ^3 p a% vfDsAvailable = 1
, Q7 h6 m1 t5 m( ~3 ~# u5 b6 r: RfAutoReverseZones = 1 7 V. a7 T" o8 a1 d
fAutoCacheUpdate = 0
0 \3 J2 o A/ }! F: D* c) PfSlave = 0
3 o( x4 g% `4 C% K( CfNoRecursion = 0
; K: F" A/ F+ _$ T3 wfRoundRobin = 1
/ q5 q; t% |! K9 {4 ?fLocalNetPriority = 1
* H8 P" Y+ L; _7 g1 k: cfStrictFileParsing = 0 7 ]2 l% F. a- @* Z* m& Q
fLooseWildcarding = 0 # _- c9 _- K f
fBindSecondaries = 1
; G1 |* u, m4 r& @9 e2 n0 KfWriteAuthorityNs = 0
7 [+ p2 G! c6 ^1 {Aging Configuration: - E. @- k+ W# f1 s; z
ScavengingInterval = 0 : F E8 Z4 |: s" v' p) x
DefaultAgingState = 0
3 q7 l2 c0 m: Y% e: }DefaultRefreshInterval = 168
0 h" s% a2 t* ?) x" _" xDefaultNoRefreshInterval = 168
/ F8 |. o9 @" x/ f; y* t/ \ ServerAddresses: ( |, ~1 W; j1 D3 x& n9 C& Z( e
Addr Count = 1; x/ _7 D5 _5 U( |- N+ L
Addr[0] => 172.16.12.1* j6 ^' k/ ^) `5 {0 E+ X3 K6 A' |
ListenAddresses:- G' O9 j7 |/ }6 O; e! U$ z
NULL IP Array.
$ x$ b2 m( u! L, T9 @$ c Forwarders:& U( C. b: f. A/ {9 Z
Addr Count = 1
: `( E b& c- J8 B Addr[0] => 172.16.4.3
/ z- O4 \5 I+ h: n5 T forward timeout = 5& k" F: _) P4 t% k
slave = 0* g5 R5 Z6 K4 S% h2 K
Command completed successfully.命令顺利执行完毕
Q2 d/ k$ ?% A0 R8 \$ r( M 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
+ t; H$ B& @: ~' J6 @; M 命令:/Config) Q5 T7 x0 { F# R* e0 D
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。) B+ N* \# z( Q- ~% N1 _7 F
' i. o W' k9 C( d# X# w) H9 X- E 用法:) J u2 D( }/ i: u
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value+ d3 V( \$ P' q" k7 S4 a
参数: }) D$ I) s/ w& r; M
ServerName :服务器名称,意义同上
4 X! |) E& s3 g- S$ R+ G' _ ZoneName:
; q6 Q& Z' }: U1 {6 g( E0 B W 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 1 J$ Y& m2 t% @0 W X" N
Property: 7 X6 `: |" z0 K7 x0 [
这个参数是属性。这里所说的属性有:- K8 x y" u) X! M( l
与服务器有关的属性:例如:
0 s' r: V& o+ A, i: i/EnableRegistryBoot
j# K8 H$ g# W- a/RpcProtocol- c! k# J1 j6 ^* W% y9 E Q3 [
/LogLevel5 `" H1 H. A: V8 @+ f& b$ x
/EventlogLevel 等等 (限于篇幅未能全部列出)( L5 T( _ i+ z1 R4 l" J) F* K/ W
与Zone 有关的属性,例如:
0 O S, }1 u* N5 \1 f /SecureSecondaries
1 g7 A9 G3 y2 K5 d, z7 j /AllowUpdate
8 }' T( c/ f5 e3 Y& P /Aging9 z- g- M- G0 P5 p. V4 I$ V! i6 }) u% G
/RefreshInterval Value3 H6 Z5 Q' ~3 ^$ u7 T! f- p/ _8 H9 D
/NoRefreshInterval Value
% M2 s- l a, @" I; `% V4 m 属性值:
* p9 \* L, S7 n! p. D 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。% R8 c$ S/ ^: G( k5 u3 s
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。) q) u6 y' l- ^0 P5 O8 ?% R4 {
命令: /Statistics
& J: G6 ~& b* o! Q; b8 A 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。& T1 ?+ h4 W8 L+ O$ r
用法:6 t! [: `$ c' ~4 x+ [1 l. G3 i9 Z
dnscmd ServerName /Statistics [Filter|/Clear]' K8 R# ]( G5 s
参数:0 `7 X4 `9 b' A, F
ServerName 4 r0 f: G$ l2 x+ J+ _8 j0 N
服务器名称,含义同上。
7 l/ P# d) h: m- L3 T5 U* t! B. h可选参数介绍:
, ~" s4 c2 g& V! a# s" \+ z共有两个参数,每次只能使用其中的一个。& b( ^" \, t+ X5 c& \2 d, H7 X
1.过滤(Filter)
/ `$ x$ }" y* M/ q 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
, R& {+ m; p0 k+ f+ N可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: - H z! p/ c) W
00000001 -- Time
* ^3 f3 G Z* z0 \& c3 o8 g1 m2 \ 00000002 -- Query
9 u, c' I* D/ Y8 b$ L- z 00000004 -- Query2
! a8 H2 B7 _7 K8 v+ d! { 00000008 -- Recurse$ A" z1 G/ Q6 r A1 w5 n4 L
00000010 -- Master
" o) o: ]5 V/ ~* B0 W0 ]$ J4 T 00000020 -- Secondary `, C0 b* ^* l. [
00000040 -- Wins
- ^" o; _$ i5 H9 I" W0 \: N 00000100 -- Update
+ k8 `! v' U( z* m. T# @$ J 00000200 -- SkwanSec+ q# V. G9 {5 x* I
00000400 -- Ds
5 A+ s) V7 d/ i9 I$ b2 x 00010000 -- Memory
0 m& x" u5 o3 I( N 00100000 -- PacketMem
7 w6 n ]" ^9 S; K( S 00040000 -- Dbase1 c2 f5 E3 Y, x
00080000 -- Records; y" K, X8 C" w \) r7 A4 { I
00200000 -- NbstatMem
0 f' T$ P+ k& k t L, C 2.清除 /Clear
, i i3 C0 R4 |1 Q' [' ~ 这个参数用来清除统计信息。$ A6 R, r# w5 C- \' \- J
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。8 [5 T* m8 t$ P5 \% t
_! u4 z. a8 `" T/ q0 c; v2 F 7 r3 y; Q7 H. f: G
`& d$ @7 m7 N: t& d1 c$ H
|