本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。5 H! D4 G& `0 o* y; }9 h: Y
命令: /Info
5 ]# d: d* B* h! F 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
) Z' v* C4 y+ V( U" N; V 用法:2 E/ \ q! g( a/ S/ |( p- R! p0 s
dnscmd ServerName /Info [Property] & y' |1 g) c, \! x( N( X
参数:4 v& f2 p, z" M# q
ServerName
! \5 w$ i% y e* |: t0 V. [ 服务器名称在上一篇中已经介绍过,此处省略。 7 `2 x: W8 M; o6 f
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。4 w! o5 r$ s h: l
下面是该命令使用的一个比较完整的例子:
) k: M! ~3 M0 H7 J) x 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
8 t9 p' q P0 q; j0 Z) o1 [dnscmd 172.16.12.1 /info 只使用命令而不使用参数: k0 P2 J' d9 b
输出的信息:
0 J h, l' n5 G4 TDNS Server 172.16.12.1 Information:
( N. `! K' h0 ~' {; u, R" f, cC:\>dnscmd 172.16.12.1 /info3 R, y& S" _* R/ k
Query result: 查询结果
2 {, A9 k) N8 `( d+ DServer info: 服务器信息0 ]: v: {1 S1 W
ptr = 00074718 端口
1 o3 A8 w/ J- {7 P. v server name = myserver.microsoft.com 服务器名称9 u6 u1 ^6 _, j9 h- `
version = C2000005 版本
! E$ U1 b& f. @7 r DS container = c DS“容器”
3 B; r3 I U, ^4 y& Q4 |- l, T Configuration: 配置信息 这些信息的含义请参考有关资料3 H* l6 S0 H5 E& ?; p+ ?. e! F
dwLogLevel = 00000000
$ S1 W7 r) r$ U7 A! c dwDebugLevel = 00000000
8 Z1 b+ {' d# c O( P% e dwRpcProtocol = FFFFFFFF# a7 E- N* M8 R. s, `& r
dwNameCheckFlag = 00000002! o h6 b8 y3 a O7 `4 m4 q
cAddressAnswerLimit = 09 M- r9 U) [6 T e
dwRecursionRetry = 3
2 X9 A5 t) \: Z9 @8 y9 F& E6 N dwRecursionTimeout = 151 s8 v* D t+ d" U( Z6 [
dwDsPollingInterval = 300
9 K1 z X/ p1 P' \: m" H. R Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料# C. S: y" ^0 Q2 T
fBootMethod = 3
" n0 D0 ^* S. H% cfAdminConfigured = 1
! e, _! {' I+ N) H5 NfAllowUpdate = 1
3 I/ n* f: t# x, e6 xfDsAvailable = 1 / a% e3 ^, A T8 z5 f3 Z' [9 \* A
fAutoReverseZones = 1 / ?" v3 I% b6 l# Z
fAutoCacheUpdate = 0
2 p/ B, s5 q; |% w) K0 I& d* qfSlave = 0 ) y% @2 `/ a- u: k- z. \8 n
fNoRecursion = 0 7 ?5 r6 c+ R! j, v; U; ~% i1 y
fRoundRobin = 1
9 H3 x8 c, Q' r" |! f! K2 cfLocalNetPriority = 1 : z4 H* Q0 b# J9 ? B' k5 Z
fStrictFileParsing = 0
( n9 w( @- X4 k# yfLooseWildcarding = 0 + y0 {2 x, [* L, g2 ?7 n+ g4 Y
fBindSecondaries = 1 9 G5 g* ~! g5 k& l- T3 r5 a
fWriteAuthorityNs = 0
' J/ S6 R8 ~3 ~+ fAging Configuration:
: ~, m/ U$ S- _$ Q* v0 l8 B% r7 lScavengingInterval = 0
& b2 ?/ \5 |5 T0 O9 ]. XDefaultAgingState = 0
9 |; d3 L$ v& ?4 iDefaultRefreshInterval = 168
7 H5 q) K/ G& |9 qDefaultNoRefreshInterval = 168
5 H1 I* C' z+ A4 ~ r ServerAddresses: ! `6 e9 H* s; s' i) j; S# b# P
Addr Count = 1
* A& J. Y* w6 y) o5 p$ k- @. |4 p Addr[0] => 172.16.12.1 \% Y9 H* Y6 Z
ListenAddresses:: m2 g( M* W; S4 P# P6 b! Y( x
NULL IP Array. K) K" ?5 @8 U. f
Forwarders:
r5 P2 ~2 t% b1 Q& a+ Q4 ?8 H" \3 l( r Addr Count = 1: O5 D! h; j0 y( U# [
Addr[0] => 172.16.4.3, Y6 l6 f1 K( k! N, X) o$ G
forward timeout = 5* V& L* \* J# v9 ^- X# F% w
slave = 0
2 g! K0 d# F2 G/ N0 l9 L8 `Command completed successfully.命令顺利执行完毕 . L( y9 M8 L/ ?* k- U
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
2 S2 f, c5 e6 Z& m! A8 X 命令:/Config
# K. o: t2 J+ t8 v: C$ K 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
# a9 U2 q# b+ Z1 @3 R: p ]; v+ R! N# Z; h0 A" U3 V
用法:1 t$ ~4 @% y* Q5 |1 X F* u
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value' ^2 _$ \+ O7 t; p5 y- h
参数# ?0 h0 j8 y' u# B
ServerName :服务器名称,意义同上
/ m+ V+ B2 ?) X% ]$ `4 V8 ~ ZoneName:
& Y0 L8 e+ U+ a0 U0 D$ M$ {/ J 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
9 Z. L* E3 V( G: d; C Property:
2 `7 p2 {( H( q; ?% b 这个参数是属性。这里所说的属性有:& L1 e+ T# ]7 a7 K( n" `
与服务器有关的属性:例如:
: G/ k' s! _ x1 r* r/EnableRegistryBoot5 U! P, @* f& O( T6 }
/RpcProtocol9 D2 K& i) v$ {. C7 h% [
/LogLevel
% j% R) L, z2 T) Z' H! O) r3 {+ {/EventlogLevel 等等 (限于篇幅未能全部列出); _) i1 W4 X! |: K# f
与Zone 有关的属性,例如:
# m3 I/ _; F } V# X: K, G /SecureSecondaries- c2 F3 @2 V% p3 |* x
/AllowUpdate
4 h" K' z0 I n& Z8 f% V /Aging
7 b) `' S( Y6 V& N% k' S9 o /RefreshInterval Value
7 e: f3 M) E4 A! K3 S. J /NoRefreshInterval Value0 |# b( m R" n( [8 R% f- G2 Y3 S
属性值:
/ N% ~: Q+ a7 M$ A 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
) ]# e O, \' E0 o* D从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
2 l" z2 p: K- T1 o 命令: /Statistics
. g0 d& D& P' d! F2 { 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。: ^ i( Z) y( L9 _( K; b' {
用法:0 O- E0 }- p4 m3 w) t( g, }: y
dnscmd ServerName /Statistics [Filter|/Clear]
4 Z3 J) F; \. V8 i 参数:
- S9 o; r& T( rServerName . Y2 z- m# L. @. p
服务器名称,含义同上。- D: y2 T9 Q8 Z* c2 v1 `
可选参数介绍:0 H% y1 v! T& W2 n( S5 x( q7 p3 M& l
共有两个参数,每次只能使用其中的一个。
! B( _. u# R4 z; z 1.过滤(Filter)$ k w" [- E7 @; p
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。 n: I' j4 o; i _* H
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
9 j4 ^7 z5 Y& w5 L7 D5 t1 W- G4 z! q 00000001 -- Time
/ R( X( b& p+ t4 Q P 00000002 -- Query
9 a! E9 \; J G l 00000004 -- Query2' I' a4 P0 l& v1 u
00000008 -- Recurse
4 O2 `/ a6 c1 L6 N+ _3 ^& g- T 00000010 -- Master- }- K, ?$ ^% h) a
00000020 -- Secondary
, L2 t U r& ^, S+ B% [7 d 00000040 -- Wins
% q1 C( A' J7 h3 P 00000100 -- Update% }) q( R' q6 I. Q5 ]
00000200 -- SkwanSec: E3 u9 _/ ?0 P& y9 ]. e! p9 N
00000400 -- Ds
3 Y8 _, Y4 K8 A7 ?$ S0 H3 Z* G$ E 00010000 -- Memory
2 k }! S6 S: q; W9 T4 x# t( _ 00100000 -- PacketMem1 w: L3 e* U# F0 d
00040000 -- Dbase2 g$ b# x' i. {) S( ]! N7 M; h+ a
00080000 -- Records' z; E+ y% R" ?4 G7 {5 [8 Y
00200000 -- NbstatMem# _; s8 g" u5 k" V
2.清除 /Clear 7 N, K# z9 x. o, j+ i9 [) L
这个参数用来清除统计信息。
7 }: E; y+ E9 W9 k/ c) B8 k2 U 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
0 c* e! ?6 G7 W) k% h- M$ ]5 h
# d0 ]# O4 b5 r) h# [" e
|7 j/ F+ c* `% C8 f
& b4 W3 T5 h* }( F- Z |