本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
: c' ?9 d- C1 R& C4 v 命令: /Info i3 H- F7 u( \
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
' @$ n: n' g( D. g) U. `0 C) h 用法:; c9 k: ]# S" K7 n8 T2 q
dnscmd ServerName /Info [Property] / Q' S5 L: r- L( R* x! S0 w
参数:- E q' R/ U! Q0 S7 m. \" N
ServerName
5 e; M+ ?$ H4 I2 H 服务器名称在上一篇中已经介绍过,此处省略。 / M3 H5 L: Z$ M' P+ z
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
+ L- w2 n% [/ K1 N8 m3 g 下面是该命令使用的一个比较完整的例子:
) T; i6 U# I% @2 y- d 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
/ \: M. N2 q# Qdnscmd 172.16.12.1 /info 只使用命令而不使用参数
0 i4 e# Q) s% M% i) g! p" Z输出的信息:% m' f& l- _ c r3 {% n
DNS Server 172.16.12.1 Information:
/ A5 E. b/ z. n; j, N0 hC:\>dnscmd 172.16.12.1 /info, c' L* s" a" B. a0 o
Query result: 查询结果! ^6 }" M/ }7 t5 R! y
Server info: 服务器信息5 X z3 Y8 L8 P( S% L$ v" q* V0 X
ptr = 00074718 端口
M# L* z6 ?$ t" F server name = myserver.microsoft.com 服务器名称8 C, i" y- E/ b+ |& X5 e3 o
version = C2000005 版本: [& I0 t! J6 w1 |. J
DS container = c DS“容器”6 i# G5 ~5 m: m& @' q n
Configuration: 配置信息 这些信息的含义请参考有关资料$ G4 d! B B) M: X( a0 S
dwLogLevel = 000000000 b% @- h0 Y4 K1 H; g7 _
dwDebugLevel = 00000000
6 A. X3 K' O6 u9 i: X dwRpcProtocol = FFFFFFFF3 C, i- [4 d6 ]/ b
dwNameCheckFlag = 000000020 N4 h' M1 b8 H+ W3 ^
cAddressAnswerLimit = 0
" F+ _! S& L1 R! b" } dwRecursionRetry = 3
$ M" I' C P6 h: L/ \4 o, a dwRecursionTimeout = 15, T# O2 x1 t. m0 M; p: }
dwDsPollingInterval = 3008 ~- T) y7 [0 C/ N) \0 [* M3 z6 ]7 q; l4 P
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料: Z' b3 O; S! E/ ^/ V+ W! A
fBootMethod = 3
: B$ P! l0 l; R" gfAdminConfigured = 1 1 g* O7 w3 j- M2 {0 t0 q* D: s
fAllowUpdate = 1 ; _& t# p$ H. P% m- A, H1 {
fDsAvailable = 1
% G y+ g' |) T: R7 efAutoReverseZones = 1 . ?$ _0 S, n- m# ~: S
fAutoCacheUpdate = 0
9 X4 A3 f. j( e h* ^" U' n' J0 afSlave = 0 3 |/ I' K; P4 l; l X+ R
fNoRecursion = 0
% c2 v" _( `7 ZfRoundRobin = 1 0 d7 s: [! J/ E6 k1 ~3 m
fLocalNetPriority = 1
& j& C1 n; h+ N! p: s+ ufStrictFileParsing = 0 3 s2 v# \8 F9 C; i3 [ Y
fLooseWildcarding = 0
* _0 n7 U) h! z2 u% |fBindSecondaries = 1 6 V2 g9 I3 y# A& ?2 S
fWriteAuthorityNs = 0
) d, L% l: A% X3 EAging Configuration: ' W+ e- T0 ^/ }
ScavengingInterval = 0
. m7 J7 O6 T: |6 ?DefaultAgingState = 0
, t8 y9 _; x1 M! tDefaultRefreshInterval = 168
) ?- A* N: ^8 j1 h! yDefaultNoRefreshInterval = 168 * `' r( n; m6 l; f: @/ T/ \4 Q
ServerAddresses:
# J8 ^% Y* P0 e: p& U Addr Count = 16 G1 [: d& C9 m+ j
Addr[0] => 172.16.12.19 d2 S% i4 N# ~) _/ o: G
ListenAddresses:
$ F- Z, g0 D7 L: G$ L- | NULL IP Array.
8 M$ o" a, v4 l6 `3 u Forwarders:" r I7 o3 ^0 N6 R
Addr Count = 1
3 q+ P9 s7 v6 g: J Addr[0] => 172.16.4.3- s" }- t. ~3 d/ b6 s% O
forward timeout = 53 J! X. I4 N. U
slave = 0
- P: [$ ^+ n- D& ]1 ?) A* s" |6 V: @Command completed successfully.命令顺利执行完毕
( G+ W' Y* m( h$ P5 g8 X0 Y& P% d: y 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
4 l2 g; f7 W2 Z 命令:/Config
+ F. R& g* l8 ? 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
& I5 X3 g% L) i# [5 v1 u+ o: P: {
9 p8 ]( h; T) W3 [' {& Y& G7 p 用法:4 R6 j4 r5 C- n7 s. f8 B
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
- D' K1 @- ~' s( Q! S1 i% V% [ 参数
# W. ^6 |. p. v( @2 S ServerName :服务器名称,意义同上
% y+ `7 N V8 g ZoneName:; a+ o% f& u) H( N9 ` g) g
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
" t; x% o+ z" G9 O Property: & f8 S, r4 V, A' K+ |
这个参数是属性。这里所说的属性有:
8 x7 g% Z% @! F3 D% ~/ I 与服务器有关的属性:例如:
/ c2 M2 M0 ]5 V {# `$ h* O$ J/ A/EnableRegistryBoot! C% L v% y$ O+ Y* z) x3 n
/RpcProtocol, r8 A# Y/ x# g o8 r2 _
/LogLevel& v% d& A+ a: N; c$ F a" ?
/EventlogLevel 等等 (限于篇幅未能全部列出)
' ]2 p# P! y# r7 P8 E与Zone 有关的属性,例如:- f: `! @( m( ?4 N
/SecureSecondaries& z5 d. X* @: g+ O
/AllowUpdate/ `6 y4 q! C% x
/Aging
* v- G) e1 Q) R" {% W. U /RefreshInterval Value
% |; K0 K$ x, j5 R1 ? /NoRefreshInterval Value
' V; T5 S' t! x( z 属性值:
6 a! z2 L t: a! H7 w 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
$ H# E( \* N3 q% k从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
& f+ r/ j+ o; @4 G' p 命令: /Statistics
+ ~6 `* |& Q/ l& K; U/ H 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。9 f) V, c; M6 h
用法:: O6 ]+ S2 |& W( D) w
dnscmd ServerName /Statistics [Filter|/Clear]' B* D* o& ?7 Y
参数:- O" {6 Z) |! m3 m- ?
ServerName 3 |# u6 P1 |& w" y6 v3 ?6 A
服务器名称,含义同上。7 Y6 `) n9 U _3 C
可选参数介绍:; o$ F* ^0 @' g1 L
共有两个参数,每次只能使用其中的一个。) P9 `, C, c( C8 z/ \) }
1.过滤(Filter)6 y2 i7 i" U# k+ }* x# Q
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
2 p, a! c4 g' F0 z2 A# D0 a可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 9 t8 q1 l7 t" A. R" u9 @3 f7 g5 I. j
00000001 -- Time6 e5 V) r/ a$ |+ S3 n; b; i- G
00000002 -- Query# y, a0 T, K s' X9 _9 Q$ v+ l4 d6 I
00000004 -- Query2
+ U- ?& d5 p1 @. \, k0 p X9 n* [ 00000008 -- Recurse! D: d& @4 b1 n0 `
00000010 -- Master
1 O" J$ {' J4 {# S- |8 }: T, K 00000020 -- Secondary% [2 f1 u* A( v# t& ]
00000040 -- Wins
9 d7 h* f w$ e2 L 00000100 -- Update
y! ]; y5 P" C. e. V 00000200 -- SkwanSec. L7 Y( A) K# }! G0 H' G
00000400 -- Ds7 y- F9 W" q8 U( p7 l& {$ G, x4 L
00010000 -- Memory
2 s4 c7 V3 _4 F2 L3 [ 00100000 -- PacketMem
! ^# w9 L. t" M' e4 I 00040000 -- Dbase1 J: l; P* Z. d" F5 b5 C% R6 }
00080000 -- Records* e; y# O, b8 s. P8 y7 h, v
00200000 -- NbstatMem
* A7 E; E9 e( A2 q+ Q; q# [* M 2.清除 /Clear 9 Y. J" `9 e- _& G9 n6 l# w3 J
这个参数用来清除统计信息。
% [7 |0 I7 _! x 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。: o2 g+ {) v! ^( t9 \. k0 K$ _, y
r! O2 K3 E5 Y& T f# b8 h8 T
m3 Z F3 d- m7 L( {0 R3 [4 H6 ^- i; m0 ~; `
|