本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
0 K# b j( M. \' P# } l8 B 命令: /Info 2 L* v- Q( Y+ T% i* f0 h3 \$ z
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
. W" O( T; n; n7 [5 ]0 z& z 用法:% o6 z; ?6 F Q
dnscmd ServerName /Info [Property]
6 P# P4 Q/ Y. Y5 p% F/ H7 ^+ a: [ 参数:# Q9 x+ s% z6 S' l3 T/ _ v6 ~2 V
ServerName * T. |& y4 T/ l% h+ y
服务器名称在上一篇中已经介绍过,此处省略。 8 {0 z7 J+ E" }0 U" e% Q
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
2 p1 W0 N; Y) f 下面是该命令使用的一个比较完整的例子:
! O( e, _3 R0 x, I( a. \ 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:7 [ h9 `0 P% k5 g% Y9 N. b
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
) i( V. h* y/ n, A' j: h) z输出的信息:
6 x; P) s' Z; x% l gDNS Server 172.16.12.1 Information:# M) M5 E) r( d2 p0 f3 Y) B
C:\>dnscmd 172.16.12.1 /info
; O& ^: c: g* t* Q% ~. U3 lQuery result: 查询结果
' s U, s2 ]1 ?/ [% b/ a( sServer info: 服务器信息! ^0 T" P9 Y1 Z3 S: s( e7 o3 u, \
ptr = 00074718 端口& k. u; w$ `' W* @% H9 m# Y" X
server name = myserver.microsoft.com 服务器名称# v8 Y' j, n$ G' b# u7 Z
version = C2000005 版本6 p" ^+ E$ I! L/ L
DS container = c DS“容器”2 b6 O0 p! Z @* N8 ^9 G
Configuration: 配置信息 这些信息的含义请参考有关资料
$ f9 f6 Q9 x0 Z) w dwLogLevel = 00000000
3 @5 z2 U7 i2 o6 E- Q4 P; }3 m5 p dwDebugLevel = 00000000* c# W6 ~- y5 q. m/ C
dwRpcProtocol = FFFFFFFF
/ ]: c% G( R) x- y. _ dwNameCheckFlag = 00000002! q5 r8 F; t1 J- ^2 K! R: k5 A: X
cAddressAnswerLimit = 0, {' {7 }8 {3 s j' @8 K& N
dwRecursionRetry = 36 K1 X5 u. s' E4 F" B& k$ s" y
dwRecursionTimeout = 15
( c. q% \( T4 ]1 s- J% v* e dwDsPollingInterval = 3001 T1 Z/ ~9 }! V- l& e* z3 `; `8 K1 C; r
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
# u7 m+ e7 D- ~5 b7 \fBootMethod = 3
3 f2 U/ h" Y& ]# {5 ]fAdminConfigured = 1 ' q' Z: C% o1 I0 Q% e
fAllowUpdate = 1 5 g! a; u+ B% `. L0 v& a1 f
fDsAvailable = 1
8 {; z0 S- R0 M$ D" z6 e9 NfAutoReverseZones = 1
: f2 p! t2 \( ^7 \: t/ p4 G5 OfAutoCacheUpdate = 0 ' N) G# ~3 f2 K- Q$ F# |' A
fSlave = 0 5 s% A, f; I# H- L2 v/ R
fNoRecursion = 0
- c1 e6 W( M' |* p4 @fRoundRobin = 1
# a1 T2 n5 o3 k# RfLocalNetPriority = 1
) k) L$ U1 G" G, |, ?: }fStrictFileParsing = 0 : q( s2 q% ~2 Q0 R' n
fLooseWildcarding = 0 - `+ L0 E6 W' l! y0 _! k
fBindSecondaries = 1
$ |$ ]) ]* P9 n2 s4 B, NfWriteAuthorityNs = 0 9 a( l! B% D+ R7 L. m% H: {& |
Aging Configuration: % p. \% [% q. Y3 f, E
ScavengingInterval = 0
- f3 h! W$ Q5 q% Y' [% wDefaultAgingState = 0 ; n! C, Z" j: p7 T3 M2 q6 b9 t/ G
DefaultRefreshInterval = 168
3 l5 r/ ?( f' g/ n0 ~DefaultNoRefreshInterval = 168 % | N1 J1 M: G" n9 v$ i' I8 [
ServerAddresses: # ?, N* L, V2 W
Addr Count = 1
, X3 k, \2 G3 W# |& G* H- l Addr[0] => 172.16.12.1: \" q$ N. s8 \
ListenAddresses:
# q5 B/ H- m% B3 p4 V5 _6 U NULL IP Array.
9 ^9 l2 o p* e- c( x: t- V Forwarders:
B% o8 |" V/ m! e5 `- Z5 J Addr Count = 1
1 d$ {; b, i! n+ n Addr[0] => 172.16.4.3
/ U/ S# S k7 z( F6 p% t2 c forward timeout = 5
% j! @ g! l0 M- ^8 d6 I, U slave = 0- V. ^5 v- d9 n* d( H* _
Command completed successfully.命令顺利执行完毕
# T! h" E! r. d, U 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
; t; }3 S1 \' W 命令:/Config: M3 O0 ~5 v @- \
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。6 S1 O3 }& ?9 D, D: D
: F$ d7 Y$ M+ @
用法:
8 a8 G [6 m% t dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) n5 ?" d' |) h. E) o x* H9 G8 D; w
参数3 p1 t) V& z6 v/ S1 B/ P
ServerName :服务器名称,意义同上 9 W( |0 D& I3 P7 l$ \# |8 w1 n
ZoneName:
$ U$ K( A; E+ L5 I' d. J& Y" E 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
, h( W8 I2 W8 u5 K6 |- _/ a1 B Property: 3 ^5 f2 C3 H2 X( @: N' U1 D2 N. R) T
这个参数是属性。这里所说的属性有:
+ C/ l, w, w: I 与服务器有关的属性:例如:
9 c5 o' d7 e2 h+ P/ L0 A+ }# U/EnableRegistryBoot4 c2 E# |) H& [) W% H' Q5 j
/RpcProtocol
# {* c$ F' [% ?3 o/LogLevel5 M; w# y/ C5 u$ Q
/EventlogLevel 等等 (限于篇幅未能全部列出)
$ c2 |9 [/ H5 E" J6 n与Zone 有关的属性,例如:) W% @+ S: s* Z
/SecureSecondaries+ ^! p' }, E! M( b3 P
/AllowUpdate
2 R( u' p* F3 Z7 | /Aging, P. [2 }: X; v: _, \0 t
/RefreshInterval Value/ e4 Z- K% V" I0 f- @8 i, a; H
/NoRefreshInterval Value
, ]) ?. l: T S 属性值:6 [7 [% G' R T$ x6 A2 x( [5 `
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
% t& p, `7 C3 J: L从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
& w8 Q' z2 O) i \) z9 I 命令: /Statistics4 h( w/ [! r8 c# V/ v( u
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
# R; V! z r& G% A 用法:
; f+ c- f, m6 Y7 V dnscmd ServerName /Statistics [Filter|/Clear]
' X b( A/ f: C) X. { 参数:4 a( k, M5 q6 A& S8 l# a
ServerName ' F1 i' \ V$ f8 `! y4 I' Z
服务器名称,含义同上。% @6 s) o: p% O/ V# z; e8 N; A- U2 x
可选参数介绍:
3 ?7 B- [/ Q, j2 H: d8 H共有两个参数,每次只能使用其中的一个。( S0 X, u! O. T7 m
1.过滤(Filter)' E" ^1 [4 y( ?
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。# I! n! x, ]: G/ E, H
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: * _" w. B' P9 S/ h; ]/ s7 r. y
00000001 -- Time- s6 e% H4 I& Y) o" t/ j7 V
00000002 -- Query% r: j5 g: I: Y ^$ p0 j
00000004 -- Query2) C6 }6 _, [. W0 o
00000008 -- Recurse
5 n) f. J( j, P: a 00000010 -- Master) B( a' W$ j6 [2 k0 Q& o
00000020 -- Secondary- g7 U8 f9 X$ O/ }
00000040 -- Wins
$ {+ R: D0 ]1 m' q 00000100 -- Update
+ f9 y% T6 w4 h1 j+ j% o 00000200 -- SkwanSec
) i0 m, S$ \$ ~ 00000400 -- Ds5 a4 ?3 P b" i3 x& m
00010000 -- Memory1 B2 E9 u O7 n+ ?
00100000 -- PacketMem
; ]. m. n, |; N1 w9 e 00040000 -- Dbase
2 f% P X1 L0 i4 f 00080000 -- Records
! i2 @7 o4 Y3 v7 o+ \ 00200000 -- NbstatMem; X; u+ M+ O+ k. n& z7 Q
2.清除 /Clear / ~( I. N7 N4 M7 l
这个参数用来清除统计信息。
$ D; C% c( J% K+ h, C 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
+ l% u. ~/ K8 R
5 J. E( V: m9 o' Y7 e" O
# Z. p7 y& c n" @7 W, g N6 g
+ J6 T3 I) o3 E5 D& z- K |