本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。, d: _1 ]2 j$ P8 q9 i
命令: /Info 2 D2 [2 F. h- O- e5 }# A ~
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
$ K1 P) {" C X2 _3 B% B$ ] 用法:
0 |6 G: F) V9 d dnscmd ServerName /Info [Property] 0 x/ e. ~: x3 k+ F J4 j
参数:* ~! s0 l j, D1 `
ServerName & ^- M/ T! o' v2 C
服务器名称在上一篇中已经介绍过,此处省略。
; |* ?% P4 j$ K: [% { [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。( c, e4 U! V+ q9 Q; P
下面是该命令使用的一个比较完整的例子:# Q' F6 {* P8 ~9 H
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
* K+ B0 Q3 S2 zdnscmd 172.16.12.1 /info 只使用命令而不使用参数/ i" X+ T( h7 F) d) y$ Z1 g; K; @
输出的信息:; N- C9 O$ n P( f. `2 F6 l
DNS Server 172.16.12.1 Information:& o( b. `5 z0 ^! {! c$ S
C:\>dnscmd 172.16.12.1 /info
: e% l8 [4 A+ m7 h0 gQuery result: 查询结果" |) d3 ^3 Y1 |+ u7 A6 l0 h" n
Server info: 服务器信息. V5 O. s( J( Z6 X) S; V
ptr = 00074718 端口
# a0 Y; o! p# S8 }4 i# J server name = myserver.microsoft.com 服务器名称) C1 U0 i$ Y9 U$ o: I# Q) U2 w! E8 J+ ~
version = C2000005 版本. z! `- G/ \ s3 h$ Q* z# J+ O9 o
DS container = c DS“容器”7 G' @, G/ S+ r8 w9 r
Configuration: 配置信息 这些信息的含义请参考有关资料2 m3 d: ~1 U# t/ i$ |. d
dwLogLevel = 00000000$ G6 Q: G6 T7 p0 H( F
dwDebugLevel = 00000000- ~& A# y) l$ O0 ?
dwRpcProtocol = FFFFFFFF" }% T, t+ K* M+ o0 K1 U) I
dwNameCheckFlag = 00000002: z% g! `/ k: p! @5 k& s
cAddressAnswerLimit = 04 E% `& ?: X% V7 z# W1 b
dwRecursionRetry = 3# ?8 B) ?5 K }9 d$ }
dwRecursionTimeout = 15
8 L: b2 r7 a6 c4 [9 t. V R. h, z0 \ dwDsPollingInterval = 300% f, @# S+ s) |6 V! \! C Z
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料" V4 t. J$ V! v4 O; F9 ?
fBootMethod = 3 4 }- ]7 F4 d* O8 [1 O0 i9 u; a
fAdminConfigured = 1 7 P% ]5 X" N0 |7 j: A0 a
fAllowUpdate = 1
0 t5 h' y a; Y8 zfDsAvailable = 1 " ^0 `2 L( G& ~3 T* h
fAutoReverseZones = 1
0 r0 C4 S! D. @: c! pfAutoCacheUpdate = 0
1 f, A: X6 x; BfSlave = 0 / [5 ~1 ]( A- q G- |4 k
fNoRecursion = 0 - L0 P/ Q6 R J4 ^3 \, x; X1 p1 z
fRoundRobin = 1 / `. {( K- N& Y) y. X, z
fLocalNetPriority = 1 1 \0 Q" b" H; T$ m$ \% ?
fStrictFileParsing = 0
. {9 Z" e. Q* d3 K+ @7 UfLooseWildcarding = 0 - g/ w3 L4 ~" N' e
fBindSecondaries = 1
- c( Z6 o) s5 b3 ^9 ^- L+ efWriteAuthorityNs = 0
, b! e" s4 `& u' ^# TAging Configuration:
' V5 N9 @1 c3 N6 @ScavengingInterval = 0
2 S( j" O0 T. tDefaultAgingState = 0
/ v0 h- |( N4 r# _ QDefaultRefreshInterval = 168 * ~# }9 {4 n8 B7 X) W
DefaultNoRefreshInterval = 168
- {* @+ v9 H! _7 z; w' b ServerAddresses:
! ^# f& h: K* c v Addr Count = 1' R- \8 u5 r2 g* K; [1 E! I
Addr[0] => 172.16.12.1
* d" V, d$ s4 H8 q- r1 y. ^ ListenAddresses:8 `) _/ g3 Y9 O# Z
NULL IP Array." i' y5 T% L& z, T8 w/ i$ ~/ ] X* }
Forwarders:
$ o7 I2 H% H2 s Addr Count = 1
( s6 P1 `; F8 T& H+ x' F$ a Addr[0] => 172.16.4.3
7 w9 z; [2 W1 }$ o" Y forward timeout = 5$ ?: {3 V/ |5 d1 q. D5 H, M4 p
slave = 0
8 f4 a$ u0 X* ^5 j& p* j" o0 nCommand completed successfully.命令顺利执行完毕
% E# N( A1 I% D% T9 o8 b- ]6 Q/ Z! ` 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
- V7 p, @6 [! V9 o" X 命令:/Config
; O- m G' \1 o; L9 q 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
; H/ O7 f- k7 W& `+ \
7 k8 n) t' b1 R# E 用法:
# I& g9 ~3 ]& h7 C% e% b dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
, V) |7 i. f; \1 U, L) s! ^2 K 参数
( O& L# f2 z9 v ServerName :服务器名称,意义同上
$ d3 @+ j0 e" Y1 h% Z( I0 b" _ ZoneName:6 a6 W' i9 R9 m# s
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
) X9 Z6 r, n9 N& @! p$ O* G# _ Property:
" x% A% J: b& v 这个参数是属性。这里所说的属性有:
@+ O( i! T7 z 与服务器有关的属性:例如:
9 k* L9 Q. U! U' Z. H. G; y% O) e/EnableRegistryBoot+ I x9 K' c6 c, J! L# I
/RpcProtocol0 r3 Y; E5 l6 _0 S5 \
/LogLevel) O, o g6 l h4 s) V6 l) l$ r
/EventlogLevel 等等 (限于篇幅未能全部列出)
_2 f/ H' T7 v0 I与Zone 有关的属性,例如:% S! y% l* B6 V% c
/SecureSecondaries
9 ]/ F0 Q0 i; y /AllowUpdate
+ E5 k1 O1 r* @8 ~ /Aging6 @# K. X3 d% L1 k: m2 v' G9 D
/RefreshInterval Value. I; e8 P4 Y; v C
/NoRefreshInterval Value
/ |/ D7 N* l7 y3 X& r* ^3 ? 属性值:, z) w9 ~ H9 P
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。 e2 [9 _1 A* l$ F/ Y5 w
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。: v/ O- p4 H, ]
命令: /Statistics% O# F. L/ o" ^4 |* K5 |5 i
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。7 z1 o0 e; \! m+ \
用法:
2 A6 S+ @7 x% i, \4 X! h dnscmd ServerName /Statistics [Filter|/Clear]7 ^8 \( V7 d) n* m$ i* i) b
参数:" D+ w/ B7 Q+ F3 y0 c
ServerName
+ [6 l# f% q. S5 H服务器名称,含义同上。* k* z. ?2 e/ `7 b* i) j
可选参数介绍:
: G0 f/ D: y; k% l" z! u& o- g, I共有两个参数,每次只能使用其中的一个。0 L) H) ~7 Z5 v( r) g p5 v
1.过滤(Filter)
! S" @2 W2 i b6 e6 \) ^: [ 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
8 [$ U( x l) N可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
7 F% ^6 k) [6 |* {/ K 00000001 -- Time
" p3 b4 `* ^+ A1 U* { 00000002 -- Query# f5 Z- c( f* t( K' H' b9 y
00000004 -- Query2# t4 A; R, \8 X) g6 k
00000008 -- Recurse
5 S5 ]5 d- i7 D" t 00000010 -- Master
* N7 V3 z/ v+ G1 i" E( U 00000020 -- Secondary
n' q) x) D2 P* k7 h 00000040 -- Wins
' B- K4 w+ e6 @: C$ ? E 00000100 -- Update
' Y! v2 i v- L, U2 J 00000200 -- SkwanSec) M$ y M6 L+ s6 s- u4 e6 s0 ?
00000400 -- Ds
/ I* X/ s( n7 B 00010000 -- Memory( N: Q0 y- i, X8 x
00100000 -- PacketMem9 V' v8 d' a* K4 {4 H6 A
00040000 -- Dbase
b' n! U; {( {1 D$ w 00080000 -- Records
$ U& J [' X# y8 ?" H 00200000 -- NbstatMem4 U; s+ Q9 S. |) V- f4 n
2.清除 /Clear 6 v8 a& `7 @' O/ x1 u5 U; ]$ G" B" Z
这个参数用来清除统计信息。$ K& U5 t' L8 @; X6 d6 C2 \9 }7 V
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
+ D& S& j) x1 d0 [: R& Z+ |: @1 P' J5 F% {
/ y+ f$ p7 O! v! @& T) j
6 A9 m: I# u8 A/ o1 E9 ?0 R* ~ |