本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
7 ?, ?4 {8 F5 |- s' G. ^ 命令: /Info
( g4 U& [. P; ]" e 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
& ~0 a: a8 ^) n. ~- ~4 j/ |6 ^ 用法:4 F! n$ Q+ M6 I v0 y
dnscmd ServerName /Info [Property] ' y* i8 o% a" \( g7 P
参数:
; T! ~% }3 g1 {9 F! u7 A2 s- k; D5 m8 m ServerName
3 t9 g0 t7 N! L 服务器名称在上一篇中已经介绍过,此处省略。 * P) R8 G# _4 l
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
9 ~9 Z& o# n- S8 j9 j 下面是该命令使用的一个比较完整的例子:$ a) v* o% ?6 }4 [
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:1 q" v# ?$ q( |, O
dnscmd 172.16.12.1 /info 只使用命令而不使用参数8 p4 m3 r! V- n/ w
输出的信息:
" x, j2 K# l, x( V6 ?& TDNS Server 172.16.12.1 Information:
1 L. u+ Q1 C( J" F& lC:\>dnscmd 172.16.12.1 /info' z. M1 L& q$ k& v5 H5 F" w7 Y
Query result: 查询结果% j- V r+ v3 U! e; U
Server info: 服务器信息
( ]7 `4 L) \! i2 G% e ptr = 00074718 端口- f& S, a1 H9 m+ n W, U9 Z
server name = myserver.microsoft.com 服务器名称0 J3 A# u. s+ Q; g3 `
version = C2000005 版本
D4 t0 E( V% w' a7 v3 X6 k DS container = c DS“容器” g3 b" d- f& u9 w# S
Configuration: 配置信息 这些信息的含义请参考有关资料
. h* J9 ^$ \& ^1 r3 L dwLogLevel = 00000000
, N# i/ W) B; Y- o ` dwDebugLevel = 000000000 d' ?# D8 J- T3 V1 H
dwRpcProtocol = FFFFFFFF
8 m% \+ J2 g6 y! `, g" @, Y- a dwNameCheckFlag = 00000002# h- q5 n. x+ i5 u/ |6 K$ H" n/ j
cAddressAnswerLimit = 0( s. V. R+ B3 D: \$ L8 p, e
dwRecursionRetry = 33 l+ a9 S W& v. b' @5 n
dwRecursionTimeout = 15
t& A2 \) w$ `! R dwDsPollingInterval = 300
: k! Y! @( W& Q( L+ C Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料' \( `0 g1 P" N G
fBootMethod = 3
6 U p- O1 |; SfAdminConfigured = 1 ( ~* I( M, h% E5 ?/ s. ?) N' J; z
fAllowUpdate = 1
$ u! d( N2 j9 |$ G* A4 S8 ^5 hfDsAvailable = 1 ( `$ z0 S( h/ `9 M
fAutoReverseZones = 1 $ B0 M6 _! E; K) |' T6 Z' O
fAutoCacheUpdate = 0
$ f" ~2 ^& {8 t& U8 P, V# v LfSlave = 0
/ A$ R5 K; s& U4 d5 C% x( vfNoRecursion = 0
: `- T0 V, l) G" g: qfRoundRobin = 1
( [- V5 N6 g! ]. ifLocalNetPriority = 1
7 o/ r$ {9 r0 ^5 }fStrictFileParsing = 0 " U3 D) V3 E# p8 q, `* b, S0 A
fLooseWildcarding = 0 . o8 `/ `4 m2 k+ b
fBindSecondaries = 1 4 t( m: n: A. B9 I5 h
fWriteAuthorityNs = 0 7 h' S, I8 u& H
Aging Configuration:
g5 H, a# q) w6 g8 dScavengingInterval = 0
1 B7 l6 s. F9 J* a; {2 z9 B1 fDefaultAgingState = 0 ! l2 [3 _0 y, [2 h
DefaultRefreshInterval = 168 1 z+ }$ @2 C4 \' Y' I; N( X" |
DefaultNoRefreshInterval = 168 ' h s- F/ z* N6 ]
ServerAddresses: % b, {/ r4 ~8 Z; }& s7 J
Addr Count = 10 s. ^* p! I+ c; P/ l6 O
Addr[0] => 172.16.12.16 o; C2 d/ f( d) j2 ?6 u
ListenAddresses:
% y7 F F$ G; u5 w NULL IP Array.
6 e: I8 U: s1 ?# n* ^) Y Forwarders:$ b z5 d( W" D4 a: \" b
Addr Count = 1- f0 E& s+ ~5 H
Addr[0] => 172.16.4.3
. Z% l/ k+ q$ [7 w1 i* G: T forward timeout = 5
1 |7 B/ b# v) H+ ~* f slave = 0
" s0 C0 g6 `6 s. GCommand completed successfully.命令顺利执行完毕
- ]3 R9 z9 F- _ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
, [- b t5 }7 t9 m& A- B' J 命令:/Config& ]- Z% T) J9 \9 y) s
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
R! i8 Q4 G# O5 m9 I- @; A
) [7 ^4 L" C: C4 { 用法:% X3 F$ m G7 w" }: k: X; j$ ?
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value1 w6 y$ V& T) d5 S4 C% R3 M5 J
参数
0 W8 q# G) } T! {5 _ ServerName :服务器名称,意义同上 ' T+ J; N9 E) [* l ?
ZoneName:
" ]: p6 z/ Y" x) F; i8 L" K 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 " x' M: h- c! s |; P
Property: * ~# ?% g7 d! i3 B! V/ i
这个参数是属性。这里所说的属性有:( d' V' D8 T# i+ E
与服务器有关的属性:例如:
( ~ L" i- ^8 y- c( |/EnableRegistryBoot( U. r1 }1 j8 `6 h+ R" j1 n
/RpcProtocol) F9 `# U0 ^7 x/ g, l
/LogLevel
) d1 H+ x* d3 ?% z" [5 T4 ^1 V7 f/EventlogLevel 等等 (限于篇幅未能全部列出)
2 N) n+ s6 t" W5 A* M |与Zone 有关的属性,例如:
- H5 P+ ]$ g w3 B4 A /SecureSecondaries
) G6 {) | V2 Y9 _$ |# z /AllowUpdate( W" o4 p Z( `0 f
/Aging
_& |" p: E1 S, x /RefreshInterval Value
' C' R* o$ ]; Y4 o: K /NoRefreshInterval Value1 L8 F; m3 `& y: m
属性值:
( i$ w5 k, t* Y 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
. l5 F* }0 a0 w R4 I从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。" @: e" c4 V; {
命令: /Statistics
$ ?* |# E* \2 k8 X2 } 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
/ p' Y8 k+ D5 ` 用法:
$ v% s( H J. C( H$ K1 ]7 _, J dnscmd ServerName /Statistics [Filter|/Clear]
1 O. }& S+ O2 G- i( G5 H0 T8 r 参数:. _! h% \0 L) N( t& z' e6 @
ServerName
, o3 y; W* M/ r+ W服务器名称,含义同上。
5 r7 D; f% [! R% T, O可选参数介绍:
; { `# S2 I3 ?: I3 y共有两个参数,每次只能使用其中的一个。
8 ]& D$ Z( l2 B 1.过滤(Filter)- _$ i4 \' b+ L. ?. M0 C
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。+ V7 U/ {9 @+ q
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 1 |3 R9 [. }6 X0 x( K. Y
00000001 -- Time
+ T3 W6 ]' f0 z) J% ] 00000002 -- Query1 o# f# g4 z, C2 w
00000004 -- Query25 Z/ c) P' K) M) Q" i) ?* q
00000008 -- Recurse/ [& {! C& L9 z8 p3 O9 m- D; t3 J
00000010 -- Master+ p2 @6 s& d0 h. f
00000020 -- Secondary
5 E+ p# M. O& y: Q& c 00000040 -- Wins
$ k( w8 s. \' |1 @" y7 y5 a 00000100 -- Update6 e8 `9 l* Q" {" D4 B
00000200 -- SkwanSec
/ ~" A0 |3 e ^) T 00000400 -- Ds' {4 @( N: D `9 @3 Y9 @$ t
00010000 -- Memory$ A5 \7 ]: J0 [# P5 W( b1 y/ o
00100000 -- PacketMem- A( e9 ?8 F2 g& }! l" ]3 w8 V q
00040000 -- Dbase( m3 z; o- E$ L) @
00080000 -- Records
8 K0 G1 R( {5 k1 o2 @ 00200000 -- NbstatMem: [6 ^" C$ j I
2.清除 /Clear $ T4 q* e7 m1 Y; Y
这个参数用来清除统计信息。
$ E4 f, _# O) k( U/ c3 X" F2 l7 G 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
' v9 m4 p9 b. v3 w) v# [& M
- G- R1 |/ F, F- r# G
, c# Z B7 _* f. t; y+ Z, H" c
2 g" O |1 I$ q$ ?2 \' @# } |