本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
* T, D* w, N' ^' h& v 命令: /Info
* V$ g! t$ j4 h5 y1 v 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
; o( f4 i& H2 m- V# s 用法:: ?! Y9 z, H/ e8 x& j) `& Z
dnscmd ServerName /Info [Property]
' N4 n6 s) W- \' L 参数:6 G* g! ?$ `2 [ Y. }
ServerName s. a2 u' J4 e- w7 a% Y& i1 _! o
服务器名称在上一篇中已经介绍过,此处省略。
- _0 W0 f0 q6 A8 }1 M [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。* E' k5 R0 j% Q2 Y5 \
下面是该命令使用的一个比较完整的例子:
" I; r8 T8 c8 M$ g2 n- ? 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:( T' t- f7 B# h+ A- r) x
dnscmd 172.16.12.1 /info 只使用命令而不使用参数9 ^8 M, G: r- t
输出的信息: f/ p: {$ _) [7 b+ Y
DNS Server 172.16.12.1 Information:1 i" l. o/ y/ q5 S; z: d
C:\>dnscmd 172.16.12.1 /info8 w% [% Q, l1 c
Query result: 查询结果, w3 F5 n& ?" i6 S0 e" L
Server info: 服务器信息
0 f/ f6 a& D$ j. c ptr = 00074718 端口
0 J4 E/ t+ V# F$ r+ J b server name = myserver.microsoft.com 服务器名称
Q) X6 `' ^" O# j: s9 f) R version = C2000005 版本
$ {# \/ I% `4 O3 V/ ` DS container = c DS“容器”
2 o3 _3 A% G, i: f0 f: D2 p% P Configuration: 配置信息 这些信息的含义请参考有关资料
' n) t5 j+ H$ r1 k8 I dwLogLevel = 000000003 s8 A4 h9 s! _! g+ v' w! ~
dwDebugLevel = 00000000, L9 V- [. ~8 Q# {1 } a
dwRpcProtocol = FFFFFFFF1 J7 j/ S. r) i8 k+ K3 @- s5 p
dwNameCheckFlag = 00000002
- w! C' N& b, t- \ cAddressAnswerLimit = 0/ a' b0 t9 @. Z% r
dwRecursionRetry = 36 ^- c+ U$ m1 P
dwRecursionTimeout = 15
t2 M. J8 U+ A8 Q( s2 Q4 m dwDsPollingInterval = 300; }( g( M& E5 S; t
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
5 x7 V- H4 L R9 k) {fBootMethod = 3
: Q! y# @ C) X+ `- F u) G6 efAdminConfigured = 1
1 P+ w3 N9 I+ afAllowUpdate = 1 ; g, G; W( w* W4 p* }
fDsAvailable = 1
! u3 T, H5 t: A4 r1 W, B+ }* QfAutoReverseZones = 1 8 @0 U8 j, [7 I1 J- i
fAutoCacheUpdate = 0 ! e4 n2 X( b2 R# \" B1 X
fSlave = 0 " r3 ] p& g g2 R9 c
fNoRecursion = 0
3 b+ E5 h4 I A5 m% W3 h& h NfRoundRobin = 1
# H; X. C2 l! U# h" LfLocalNetPriority = 1 ( { e' Y( g4 _# F2 `
fStrictFileParsing = 0
9 _9 ^" L2 _* p0 f' {3 ^fLooseWildcarding = 0
7 S2 I }4 |9 G- G* D7 nfBindSecondaries = 1
8 t1 o6 i, d" k3 @4 i9 nfWriteAuthorityNs = 0 ( D9 a' s! Z% v. ?- w; x; U* E
Aging Configuration: ( j( [* H4 Z. f. o: H
ScavengingInterval = 0 . o C4 C) x% X- e) R* ]+ i f+ N
DefaultAgingState = 0
$ M8 N2 q% ?! w9 a6 aDefaultRefreshInterval = 168
2 Z/ T3 K2 |' n' w" A7 lDefaultNoRefreshInterval = 168
! u" w7 v& `* v ServerAddresses: : i1 j% F' C( x2 x( C
Addr Count = 1" r9 `7 o6 o+ m N
Addr[0] => 172.16.12.1
5 X& g7 e" ]0 c' p8 f ListenAddresses:% d _% [2 }# `- C5 r3 a! W
NULL IP Array.6 M5 |. Q) F3 j- D2 w y
Forwarders:
7 T1 f o% b8 T# K, _% U Addr Count = 1
/ W+ z; b3 g8 Y$ E9 ` Addr[0] => 172.16.4.3
4 d8 ~3 ~4 \9 Y forward timeout = 57 Z1 Z& p) N& s* \0 w; h# h- U. I/ J
slave = 0
; v- |; k9 T1 a2 V6 {- iCommand completed successfully.命令顺利执行完毕 ' E( \8 a) Q! C; g0 |, C4 Y5 r
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 7 ~: L, p9 ^1 U) J; N/ V2 k
命令:/Config5 T% J. N) V* ~. l8 X" P
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
( n3 N# s! ]9 P/ D% Y- G% S( i$ Z5 _( M
, i. Z( ^( B5 z* z0 d 用法:
* ~- i( w9 b: V% _+ u1 e% Z8 M c dnscmd ServerName /Config [ZoneName |..AllZones] Property Value ?. u( j" X7 R1 [! ?, {; a
参数
( s, G- }( l, x3 Z c% Y, u1 V ServerName :服务器名称,意义同上 ! e! [& g+ Q- ?- B2 L, E
ZoneName:
% @% l% u$ u2 k! p2 G 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
e2 Y( A. n7 r Property: " B; Y l. a( A
这个参数是属性。这里所说的属性有:
$ u9 T% ]) h! i0 V6 H 与服务器有关的属性:例如:6 X- ]2 T: q# i2 Z: A& _
/EnableRegistryBoot: d" f: t2 c7 E) L; q( o- z6 Q8 L
/RpcProtocol8 d# y! ?1 K9 B8 H6 W5 e0 D
/LogLevel# }9 G: m/ S6 z
/EventlogLevel 等等 (限于篇幅未能全部列出)
+ L6 u0 n9 P3 p, u# ~与Zone 有关的属性,例如:
& A& `3 x+ y+ f! ^! F /SecureSecondaries
7 P( Q) q b; e% q4 O K /AllowUpdate, S5 I! L0 v3 X+ K
/Aging
; A9 h" }: v6 Y5 K8 K# f9 V /RefreshInterval Value
0 U! _& k$ A7 Q$ A /NoRefreshInterval Value
) K" ^$ V; `) }1 e 属性值:
- E% C; s. q. U 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。( K8 p6 I" d4 W' P* ~4 a/ p9 [; y
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。/ u1 n) n: q- w0 F3 h w8 P; s
命令: /Statistics
5 P& ?* H9 U- S2 ~4 r; l6 J 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。/ w; {6 |3 ?% \: A( p" D \! S
用法:; ]5 f* ~2 r+ r K5 |0 J
dnscmd ServerName /Statistics [Filter|/Clear]% [; ?- N- V. O& Q+ M+ l3 ?
参数:1 ]1 m; n0 p1 ^# V
ServerName
6 y6 L7 t; n* `2 u9 J7 u, z服务器名称,含义同上。
4 u- K1 Y9 z8 x6 U可选参数介绍:8 n, i) J& J; b, w% G
共有两个参数,每次只能使用其中的一个。
$ Q. Z* F7 Q C4 v5 c5 h 1.过滤(Filter)
% E: ^) V" ^4 Z: b2 U' \ 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。: d& R: k* t( o1 \$ f
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
" y# Q+ b+ m5 N! V' ]# ?8 A/ A 00000001 -- Time: b9 Q5 U w; X* f
00000002 -- Query* ?4 E4 F8 P5 y! H, A
00000004 -- Query2
1 i% R5 \- W" Y$ m6 M& h 00000008 -- Recurse# p1 B" L6 @/ \3 ]) x w; B
00000010 -- Master1 @1 D& j1 }7 {3 n1 m6 ?" E8 `# y+ c& D
00000020 -- Secondary! x! K) i# [* C& V
00000040 -- Wins
x* p0 S! B* A 00000100 -- Update
/ G) E3 z9 r, k3 v$ j0 x 00000200 -- SkwanSec/ ^" @/ ~! S6 s5 l/ ^
00000400 -- Ds }. w- Q; y# v% Q: D2 S2 E3 q: Q
00010000 -- Memory5 D, J5 p4 O. f
00100000 -- PacketMem' K1 A) i3 S$ F& J7 [+ Z/ a! z; E
00040000 -- Dbase- t b+ [, d. C. J
00080000 -- Records& E- T, @: _1 X9 A* E7 b2 d; m* b
00200000 -- NbstatMem2 ~7 I- H$ B& n0 [# L
2.清除 /Clear / `- @ M2 T t/ p. W
这个参数用来清除统计信息。, g6 P6 E/ t' j: T3 l9 ?7 k8 G7 t! T
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。5 l" s% z) I7 r c
5 p" j! ^& R. C1 H % V, e0 E+ t8 c2 U
$ s7 i2 p, ^! g% [" E; ^! q |