本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
2 S9 z9 }9 P9 [ 命令: /Info 8 _2 ^$ S6 W) z0 t, v- w) x! q
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
! q( E) Y" n" |" |5 P( s' @0 E 用法:
0 T9 K0 K5 O" x8 ]+ X4 X4 g* }. k0 f dnscmd ServerName /Info [Property] ; W+ C$ N! P- J) h3 H* Z
参数:" _0 T9 L& ~' M$ ]/ i" b
ServerName ) C0 z4 k" r) R
服务器名称在上一篇中已经介绍过,此处省略。
, m7 n2 A4 a& e5 n/ a3 @3 B: ~ [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。/ [8 n5 U- X$ `& Z' ^
下面是该命令使用的一个比较完整的例子:
' n1 R2 L' ?# r* ^! g 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:1 W- h5 a) K5 p5 f4 P3 p! c
dnscmd 172.16.12.1 /info 只使用命令而不使用参数& T' I9 O5 \% j$ N3 G* X
输出的信息:
! z, V. {7 P, f8 ~/ @3 _% q: B( kDNS Server 172.16.12.1 Information:
1 c/ `% _5 q, N- c. VC:\>dnscmd 172.16.12.1 /info" p5 J9 u3 S( s
Query result: 查询结果7 b! B0 m6 w; G* P# n; w
Server info: 服务器信息/ ]9 i' A h- G- D
ptr = 00074718 端口6 p+ b T4 u8 }% j( \- W
server name = myserver.microsoft.com 服务器名称
( F! W; b5 L- U \ version = C2000005 版本0 h5 W- N" t( P1 Y: p, c3 u
DS container = c DS“容器”1 X2 ^$ T4 U# @' J/ A6 G# X$ d
Configuration: 配置信息 这些信息的含义请参考有关资料
: m4 a/ W9 P- ]- r. C2 P% C$ x) K dwLogLevel = 00000000
9 X) T+ M, U5 T* C6 W( {2 {/ m" N2 t dwDebugLevel = 00000000
$ N5 z. E4 f* j d% c8 T dwRpcProtocol = FFFFFFFF' H& {( ?( W N* `, T
dwNameCheckFlag = 00000002* ^6 U% D% ]1 ^; s( l
cAddressAnswerLimit = 0) E! P8 D$ h& \* g
dwRecursionRetry = 34 O5 ?7 x* B7 v' u- F) S2 E$ s
dwRecursionTimeout = 15" k+ V2 @+ r& G% O5 k* z7 N$ i5 j
dwDsPollingInterval = 300/ T+ T1 s$ A% j. F" W
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料9 t1 f4 }; a* Z# Y
fBootMethod = 3 # K' `, @5 G; p7 _4 P' O
fAdminConfigured = 1
' l; ]: u) p( z* f/ XfAllowUpdate = 1
; n* @+ j3 I+ L" IfDsAvailable = 1
2 U# f3 U1 ]2 x# W( afAutoReverseZones = 1
3 x$ \* a |! W& h0 W+ CfAutoCacheUpdate = 0 6 y; }7 q3 `1 Q+ s2 A V4 F
fSlave = 0 $ T, n7 t, @4 p; v1 ?, b* d
fNoRecursion = 0 & _; z6 m5 N" h% C2 a+ f, g
fRoundRobin = 1
t% O# o2 | e, KfLocalNetPriority = 1
2 F0 C' H& V) r& {: Z# N8 pfStrictFileParsing = 0 ! d% n2 m4 D$ f0 K
fLooseWildcarding = 0 % L7 Q- c% D) K
fBindSecondaries = 1 2 z$ W5 B! q9 B4 n: X& I' N
fWriteAuthorityNs = 0
+ n+ Z2 |# O# Z ?# ~* [Aging Configuration: # t; r H0 T% ~2 `: v9 R
ScavengingInterval = 0 & V( u4 t& {( {9 _
DefaultAgingState = 0
. J, S! x5 j: q1 G% p1 GDefaultRefreshInterval = 168 . G. ^. q# G4 T8 B% B
DefaultNoRefreshInterval = 168
S1 G" y- Q1 {, D ServerAddresses:
+ k7 K+ ^, c, Q. M" h/ | Addr Count = 1& t' \( v7 T8 N; ?3 O( F
Addr[0] => 172.16.12.16 H$ S+ e0 u0 m: `( ~ ?
ListenAddresses:1 a- z1 }# {6 X+ O* ]
NULL IP Array.
3 u m- ?5 @6 Q2 A$ C' j Forwarders:1 h" h! `" G* M. X6 d5 n: e# E) k
Addr Count = 19 l) l/ @1 k- {7 [; H
Addr[0] => 172.16.4.3. g# B$ L- y. h% |, [0 s. j( a
forward timeout = 53 T# r+ e' b) [$ {
slave = 0
" h, U0 o4 M6 m3 }1 a& ` _& YCommand completed successfully.命令顺利执行完毕 5 \5 x* q3 _ P N
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 V) }8 _! P C3 s( ?9 @6 m! n
命令:/Config/ V1 n! {3 K+ o2 d( K
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
' l! X! i9 m! Q
0 g9 v6 o/ |# F* V8 e 用法:
5 t3 R& p/ k# o" { dnscmd ServerName /Config [ZoneName |..AllZones] Property Value! u. U5 Y7 E8 g4 V
参数
8 x% I2 X5 x4 \- n ServerName :服务器名称,意义同上 # m9 {. w& t- N& x$ J5 R
ZoneName:
% i2 i( ~; L! O7 U+ {9 E' e4 j 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
. i/ I! F- P+ q Property:
7 {" |* f; r. z+ O; [6 x 这个参数是属性。这里所说的属性有:6 }7 u0 G9 T6 j9 |( s% \, I
与服务器有关的属性:例如:) y) ^8 |) h/ n2 ^% W0 ?
/EnableRegistryBoot D* k- {+ m) R
/RpcProtocol
' u7 _; b5 x; w3 o9 V/ r/LogLevel
( }, o! Q( M- s" O5 b4 _, E5 J2 k/EventlogLevel 等等 (限于篇幅未能全部列出)
( X. X8 c, U" k q与Zone 有关的属性,例如:
1 b0 Y) ^) ?( R9 y4 R/ ~ /SecureSecondaries& f1 d) E0 m- Y* Y) ^2 e
/AllowUpdate
- j% l* w( ~' H; ?: F/ b& k) Y /Aging% s; \& [6 K( W/ _ n' ` a7 T$ s& A
/RefreshInterval Value
+ ?+ A: Z+ u' ?* D! z; d0 ~. v /NoRefreshInterval Value5 O2 h: h9 @" l- E# R0 Q3 H Z2 ?
属性值:
6 t6 d6 h3 q* ^8 u1 k4 s 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。/ ^: i, y' q# Q6 v
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。" y6 G. ]" R* _2 d! o
命令: /Statistics2 h: r, x3 i2 o; Q- ^" V
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。) r; \! l, i6 A/ x
用法:4 ?* K9 ?3 ~! G2 A3 J
dnscmd ServerName /Statistics [Filter|/Clear]
# S+ b K8 h @7 K, X. \0 e8 {- ~, P 参数:. p, s& e1 x, ~6 E) `
ServerName + C/ g( ?1 h' X, \+ c6 Z
服务器名称,含义同上。
$ P8 [/ t% N' ?& p可选参数介绍:, ^& N" a' ]! \" `
共有两个参数,每次只能使用其中的一个。
7 h/ h( ?1 T. }$ n- L 1.过滤(Filter); U! J# m; Q$ k
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
: b! C: A8 F- k可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
7 q$ @! X0 Q( V7 c: y R# w 00000001 -- Time
2 P0 ^) ?* I5 m" C' Y" F4 n' T/ M 00000002 -- Query4 p# M `! ?" P: B' C5 Y- L
00000004 -- Query2# U; k `: A8 n% t* n, w# C4 F) X
00000008 -- Recurse6 k+ ^7 J6 d% b8 O; q v5 \, D
00000010 -- Master |8 N6 E" c9 B5 k; _7 A/ [ M
00000020 -- Secondary
9 }3 D$ v' x+ J$ y1 F: Z 00000040 -- Wins' S5 t# B+ p- s) s( l0 T* m
00000100 -- Update
7 c! h& ~+ s% H5 t% F+ x r( w- {) ~ 00000200 -- SkwanSec9 i; t: h0 g! K: O8 n3 l. u! L
00000400 -- Ds$ Z6 [7 [% Z5 Y4 o- |
00010000 -- Memory
h# c5 }6 n8 `0 l; C 00100000 -- PacketMem
, |5 c# p' K9 |. E7 b F7 | 00040000 -- Dbase
) H2 x2 X- @) d 00080000 -- Records
# W9 @3 R8 ]3 `% U* t5 b; U 00200000 -- NbstatMem
% V' S9 Q. b) d; I# c8 P 2.清除 /Clear ' Z S5 V2 _5 A. q
这个参数用来清除统计信息。
2 q# K5 G# Y$ r+ y+ y% L0 ` 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
; E7 M: ]9 k; `$ n" D7 V8 W3 a7 F5 y: a P6 l% u( x m
6 z, ?+ i. X1 U8 A- C# N5 ]8 {7 j3 O3 m
, S0 s0 k4 O4 U' y5 O2 e |