本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
# z) v5 z, @, @* f P! D# N* B( j0 L 命令: /Info
; w- o6 |3 d3 h, l$ u 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
7 {$ r6 x2 E0 B( p 用法:( _& ?9 H% v0 x6 G: r2 [/ A0 U( E
dnscmd ServerName /Info [Property]
4 s5 s+ y3 N! `) F8 S* e. V/ C: a 参数:: F. C! y5 L; I0 h7 k
ServerName ( {$ T: Z. @. K* N, U- R
服务器名称在上一篇中已经介绍过,此处省略。 9 @( K2 r( i8 F* {- Q
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
8 U! j" O" r* ^5 u# \" N" X/ P+ T 下面是该命令使用的一个比较完整的例子:
; U7 p3 w. g* R, d* x2 r& A- D 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
6 R* s# d+ y ^, r. q: C. Y- ldnscmd 172.16.12.1 /info 只使用命令而不使用参数1 f, m# W& ^; j$ o$ n
输出的信息:
- d0 n) @8 {/ ~9 t" ?DNS Server 172.16.12.1 Information:
. o8 @5 O1 E) Q3 ]/ c) ~0 @C:\>dnscmd 172.16.12.1 /info' G) o2 d: k1 H2 V% a# J6 ~# V
Query result: 查询结果: A4 L6 V5 ~5 `
Server info: 服务器信息, T1 W0 W* Q" \/ u; t8 G' y
ptr = 00074718 端口
. r( [# g0 `4 U, J7 l+ N) P0 L server name = myserver.microsoft.com 服务器名称
/ U) a, Q8 e7 X/ ~# L: W/ L version = C2000005 版本
2 X$ |; E+ S ?" Y6 x6 Y1 O DS container = c DS“容器”. S0 h! z; j) a0 n
Configuration: 配置信息 这些信息的含义请参考有关资料
8 _/ t: V0 o, b' f m6 I z dwLogLevel = 00000000
5 O' a0 r+ |& k* [4 A" ?# | dwDebugLevel = 000000000 }2 R/ ^6 I9 c& i1 J2 n# |
dwRpcProtocol = FFFFFFFF
2 j& n9 |& l7 m( W" h dwNameCheckFlag = 00000002
5 I9 H) V: k. u+ }5 D cAddressAnswerLimit = 0
8 ], ?+ @0 Q+ i# n/ |, O dwRecursionRetry = 3
. w% r1 z9 p3 t( u8 W1 _* m5 h/ @, ? dwRecursionTimeout = 158 }# w6 X: u O9 L1 s6 U
dwDsPollingInterval = 300
2 Y" V3 _7 B3 w2 r1 u( E- T Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料9 @8 E6 c* O8 z& N$ ^3 ~
fBootMethod = 3
7 |4 N0 n' y+ N$ w: x+ _fAdminConfigured = 1
# u7 u9 _% f4 m: ?fAllowUpdate = 1
. }) g" ~2 y1 @4 C5 JfDsAvailable = 1 8 E9 E' B, X# H5 y, k
fAutoReverseZones = 1 2 P0 X3 z* p8 M- Z
fAutoCacheUpdate = 0
% y+ a6 w+ ~2 E K7 V& ?" rfSlave = 0 ; Z, N* L4 t/ F$ L7 k, [( f
fNoRecursion = 0 / L; j" F* G8 j, }0 H- _. B
fRoundRobin = 1
. p6 l- e: ?! g) j. V( FfLocalNetPriority = 1 - ^$ Y# v6 c1 i1 Z9 ^' p
fStrictFileParsing = 0 # r1 `8 d# ~* G! x, m- s
fLooseWildcarding = 0 9 t$ `" D3 F) Z+ c
fBindSecondaries = 1 0 C9 z/ X% N7 ^* Z4 l4 ~
fWriteAuthorityNs = 0 / a8 N+ M$ j3 D- S7 c2 L
Aging Configuration: 2 v2 n$ f" X" t* S' E# v3 c5 n% B9 C
ScavengingInterval = 0 * `4 E: T9 ^! J% Q, e% t5 L$ n
DefaultAgingState = 0
5 m( j( _, B+ RDefaultRefreshInterval = 168
! U1 D4 D; i2 i, L1 G& lDefaultNoRefreshInterval = 168 ) W1 v4 P: F, ~& ]( _: s
ServerAddresses: $ F' A" A6 A# {/ N2 h' f
Addr Count = 1$ }5 P; P3 w3 X0 a+ l/ }8 s
Addr[0] => 172.16.12.1
) b" U: h9 [. o3 |2 |/ Q1 F ListenAddresses:+ C* K; ~/ s1 x/ c# I- t$ _8 A* k
NULL IP Array.5 D9 u1 v& b" C; q
Forwarders:; U6 h9 O j- u7 T
Addr Count = 1! \- p" N `6 k% M
Addr[0] => 172.16.4.3- h/ K, r7 K2 Y- U
forward timeout = 50 ?6 v% u2 n' l, a! B6 e
slave = 0
* X6 r% X4 j4 @) ~7 R* ZCommand completed successfully.命令顺利执行完毕
+ f! w# C1 D1 B4 }; [ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
! m) i- Y! a* D/ f# w 命令:/Config
$ C7 W0 j' F u" I! B. E* G- g X h& w& s 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。; v W& F% E2 E* B' P- C$ U- ^: N+ w
, L* b' A5 @+ k# q% {% R 用法:; X' G$ y1 u7 i$ e" d5 ~
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* S, S- p9 W4 \, _3 b" R: H 参数
& P( R0 w6 e4 d) _7 J% } ServerName :服务器名称,意义同上
9 V8 j7 ]; c) u3 ~' e( N) x ZoneName:
9 E' R) _3 Q0 L. X4 s 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
/ D- {* g* q: }/ ^, Y0 L1 d Property:
9 Y( K' v: L) A) @# z0 Q4 Z 这个参数是属性。这里所说的属性有:+ C/ m% S- \/ L& b" I% k
与服务器有关的属性:例如:$ P/ b i7 p/ o! M1 E+ O
/EnableRegistryBoot
S' D/ X2 y$ _. _7 T$ [7 g' H6 i5 f4 F/RpcProtocol$ K! e/ E# O% h u
/LogLevel
, t- r( B5 j+ b0 Z) J/EventlogLevel 等等 (限于篇幅未能全部列出)
. u9 \8 R$ m' E0 i$ M3 A与Zone 有关的属性,例如:
) g* x( D+ |* b7 f3 V2 ]( G /SecureSecondaries1 w5 ]# W" I& o, ^
/AllowUpdate
( z' F/ C) c E! p' { /Aging
4 c3 |# r4 P4 f0 @) ]2 D( E /RefreshInterval Value
5 R7 |) u6 y2 e, K+ Y; I& C. [ /NoRefreshInterval Value7 t8 U1 y, _% s5 S
属性值:
8 M5 m$ g: l5 n# k% O( E 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。, Y; \& }- W5 Z; g ]- L) m/ O0 Q$ c$ |
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。+ o- \. Q; t. N' q) p3 s
命令: /Statistics
' d! S4 K5 K7 x1 Y 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。2 R% l" |+ W/ |9 \
用法:% K f. Y# C/ _& @ w* R' h
dnscmd ServerName /Statistics [Filter|/Clear]- X; E |' \% }0 U
参数:$ d. y/ Z0 J' G( _" @
ServerName g9 B1 s8 `" L8 u* L& e
服务器名称,含义同上。* s* j3 e) ]5 ?" r1 X
可选参数介绍:
o$ n0 g2 Z3 H5 _* V# O共有两个参数,每次只能使用其中的一个。$ k9 X8 c6 Q8 N' \) X- v0 A
1.过滤(Filter)3 t0 @4 I9 I& B
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。: F3 I9 h. V8 h& q
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: & D. {5 {2 K o6 \2 H
00000001 -- Time% w6 u( _# h/ A1 A2 m, a# L
00000002 -- Query
- {/ }" O" O0 ?' f 00000004 -- Query2
; z$ z* o; e" l# {: D, {( @' V- M 00000008 -- Recurse u& N( W5 Q) Q& @6 T& W
00000010 -- Master0 E$ S* O5 t! `) p4 X5 G
00000020 -- Secondary
- k- n! j, z" P. C* f7 ^4 I9 \ m- E 00000040 -- Wins
/ R' f, p0 p- f4 ] V 00000100 -- Update
5 \! l; E# P1 a& y2 N+ j 00000200 -- SkwanSec* T0 }$ k$ v( G7 S9 L% [) L
00000400 -- Ds- A' r- T2 Z% U! C
00010000 -- Memory% Q) j, u. |1 ? A3 T7 J$ r
00100000 -- PacketMem
; K! M7 G2 t7 C* s: I: M 00040000 -- Dbase" H0 c# [: X+ I& o. K
00080000 -- Records
! i' T! X8 Q( W6 P3 J 00200000 -- NbstatMem& z2 x& V9 ?& n" Y& e; `
2.清除 /Clear & ]; V! d/ @* K) {
这个参数用来清除统计信息。. ?* L, G* O" O' \* b
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。. Z9 Z9 ?' K3 A+ U5 a
+ y2 S3 Y* C. R6 L* s6 E. @' V. b
5 D" i' i' S( t1 U, t' I' R$ }6 r4 D, x! i4 ]
|