本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。( W; _" Q. V8 i5 [
命令: /Info
$ D0 x, N( t# S T# u7 K% q 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
3 t) _0 C c! v1 _2 p7 l5 Y 用法:4 _4 d2 q$ l/ |/ c- O
dnscmd ServerName /Info [Property]
0 C+ h1 {& ~) R# ]( }5 M 参数:
' i% c. k1 j9 z- V$ G2 m ServerName ' k! u3 j- ]- M, P( V
服务器名称在上一篇中已经介绍过,此处省略。
3 o, v8 X$ b. f* e+ ?9 t. d [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
5 V4 N! q' P2 l5 _+ z0 P$ O 下面是该命令使用的一个比较完整的例子:3 f$ o2 M {' J" |9 ~9 w
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
: M% e# g" N: N. K- d( u* R) hdnscmd 172.16.12.1 /info 只使用命令而不使用参数
1 ` Q8 b0 `8 q& K输出的信息:1 E- ~# e+ F3 r* h
DNS Server 172.16.12.1 Information:
; V" A% M7 y# h$ _C:\>dnscmd 172.16.12.1 /info
: f Y0 X2 ]! _" L. n4 z0 p9 l+ EQuery result: 查询结果- V# ~7 h" G) `7 n& e' O
Server info: 服务器信息
) J* ]8 v* T" I ptr = 00074718 端口
9 w, k. X+ C9 {& V server name = myserver.microsoft.com 服务器名称2 d! J. r8 D7 X7 W. X5 @
version = C2000005 版本
9 C7 n# f f$ i0 l& F5 q DS container = c DS“容器”
9 ^, b" T4 B. b1 `# | Configuration: 配置信息 这些信息的含义请参考有关资料
8 B& D& M9 E; P' e dwLogLevel = 00000000
: U$ K) n/ l+ T9 r. C& L) @ dwDebugLevel = 00000000
- ^& C6 d% P4 T1 f dwRpcProtocol = FFFFFFFF
[3 Q5 Q, t2 R' f; O dwNameCheckFlag = 00000002
2 e$ S# x) w |0 f cAddressAnswerLimit = 0
# k! C) p+ z8 E4 E, N dwRecursionRetry = 3; o* W9 {7 q0 S2 ?, G7 s
dwRecursionTimeout = 15
! A1 V5 `3 Y x" }, t& r dwDsPollingInterval = 300. S* d' z+ k' p, V$ d
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料3 X& C& F" R ^- a. z5 t$ k* b
fBootMethod = 3
" y. \$ S; D8 zfAdminConfigured = 1 7 U; T' |) C1 P6 b4 s
fAllowUpdate = 1 & h9 \& |3 d+ l) G" g: V0 @
fDsAvailable = 1
9 o9 b$ Z0 ^( g( `$ Y8 TfAutoReverseZones = 1 3 E, {2 [& Q/ N8 M& X9 V1 d7 |7 {
fAutoCacheUpdate = 0
# V$ \( T2 Z6 Y/ IfSlave = 0 & b% G5 J! \6 d' C
fNoRecursion = 0 9 ]; @9 x1 o7 m" i1 d! b- ?3 S
fRoundRobin = 1 2 B$ Z I& U9 u, k
fLocalNetPriority = 1 ( H# j$ ?% R/ T6 ~2 N a
fStrictFileParsing = 0
7 | y$ c4 ~' m- _2 ], A6 m! U2 VfLooseWildcarding = 0 ) ` P9 j& e$ Y1 r r! v
fBindSecondaries = 1 5 O1 a% P0 A% ]& T/ Q, O# B4 a+ }7 \
fWriteAuthorityNs = 0 - O, L* V5 y, |; y7 X
Aging Configuration: 9 r- z/ G$ g% w
ScavengingInterval = 0 3 Z5 ?0 a' y# {# M. W( L
DefaultAgingState = 0
( v- u7 g5 V1 s. g- R# b( @. UDefaultRefreshInterval = 168 8 E6 h' i+ H9 i( z- p
DefaultNoRefreshInterval = 168 % e+ E& |' f" |6 P0 |% r- ~' H
ServerAddresses:
( x& ~! D4 H d& a Addr Count = 11 X# g4 w" p/ f
Addr[0] => 172.16.12.1
8 ~ y2 U# x; _: S/ N( q ListenAddresses:
& j |8 g7 F& }* S0 _ NULL IP Array.
9 ?7 r+ i: E; U+ L d! b Forwarders:
# O' L' D' x" U Addr Count = 1
+ l2 @: e+ J" h4 P: ^ Addr[0] => 172.16.4.3# j! j- l7 O0 \5 t
forward timeout = 5
9 r1 w, H7 W7 ^! j+ o2 i slave = 09 J) z g' f: @, C
Command completed successfully.命令顺利执行完毕 y( n) H' n/ s! @0 Z! V* f0 k
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
, q3 h$ i8 d& q' j% I' z 命令:/Config
( f$ c" O) F; I9 r% @ 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
+ f9 V+ l* T* U5 H: _! @# R+ B( z6 Q9 L/ j, s$ u! q A# l
用法:
4 g( F6 ^$ J7 K dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
- h$ H3 D1 q3 h+ D4 j' r' x 参数) c2 w+ s& t* t8 |3 ~( ?
ServerName :服务器名称,意义同上 : k; O7 e) V: u) C
ZoneName:) T; T1 }9 ?" Q) t$ q
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
9 u) K8 S/ g4 ]/ b* Y- ^2 l" n Property: ! \1 _( e2 v4 N) @0 @/ q
这个参数是属性。这里所说的属性有:
$ |& Y V" O- x' l; O% Y 与服务器有关的属性:例如:- t# `3 j# ^7 ^* G* H- t ]( G
/EnableRegistryBoot
2 E7 W9 S& O0 p5 g+ X2 I. h/RpcProtocol$ i1 V; e- f: e# C
/LogLevel
# ]' D: H: P+ E/ M: I( p8 J" U' j/EventlogLevel 等等 (限于篇幅未能全部列出)" w) y5 o3 W' s/ C: x, m" F$ J6 h
与Zone 有关的属性,例如:; v: I% S) n2 h( `# E1 [# Y
/SecureSecondaries
, g; O5 y/ v7 M# p, I /AllowUpdate6 t u: |) ~6 l9 x( ]( |+ t
/Aging
! R" V, R# \+ S6 @* j( } /RefreshInterval Value9 e" _5 K1 n8 i# p$ @7 C- z
/NoRefreshInterval Value" O3 m7 {% c0 S4 P
属性值:
2 A9 n+ Z0 e u+ V' X 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。% I) P- ~4 ]. F: _7 A3 x. K
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。7 V) @, m& q" X# }
命令: /Statistics ~) Q! @6 E& r# Z" s
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
0 m; p& R0 ^4 d7 T) i) ` 用法:1 R) D4 e8 K1 F+ X! u. s
dnscmd ServerName /Statistics [Filter|/Clear]- w1 P# y. o/ F& s* P1 D3 Z* I
参数:
8 `: ?: O' |: f; ?+ {3 O4 JServerName # n& i7 U( |7 K& T5 P
服务器名称,含义同上。
7 S; C; S c, T8 A( \: e: O可选参数介绍:
# b0 @: i$ y7 O7 t) X1 p共有两个参数,每次只能使用其中的一个。7 H1 d6 Q8 F. E& }: R
1.过滤(Filter)
9 L% c" k V( O/ k+ a. V$ T 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。0 c, G9 s h" d5 c' S% F p" Q; ?
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: + z/ \$ k0 i+ x+ ^, @
00000001 -- Time4 X l4 a" K P; M. P% f
00000002 -- Query
, R* G6 j9 x& a- e) ~4 I 00000004 -- Query2
% G; n+ F9 c* \7 ]7 U 00000008 -- Recurse
4 O$ V* ^6 _) g" D( p3 d9 G W: | 00000010 -- Master7 v+ ?3 g0 R* Z9 [
00000020 -- Secondary
$ v2 \3 O1 F2 m4 {" N7 Z- U `/ l 00000040 -- Wins5 F R) N$ `% X
00000100 -- Update
$ W7 k2 t. p: r, t4 T: e 00000200 -- SkwanSec
, w3 f3 r# a1 H; y/ t) Z 00000400 -- Ds
1 }6 t8 H. [" K* m1 |; S+ z, { 00010000 -- Memory M) ^0 E! s" H. G
00100000 -- PacketMem5 Q, w% o7 U* ]5 i( D( I$ b
00040000 -- Dbase* t! n; k, d- r& Y' N
00080000 -- Records) c8 n1 F p" \% R u' y5 T- s/ y a3 N
00200000 -- NbstatMem7 P2 f! B4 u6 q
2.清除 /Clear
2 n' E F, s' w! B; l1 n( @ 这个参数用来清除统计信息。1 `( b4 \# i0 D: @
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。2 W0 b! Q: z2 J( D8 b
1 J3 @0 D; D% H# q E/ V
! e% }2 t1 H* B$ _. Z
* O4 }# R% ^/ E# h% L |