本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。1 `/ H0 | y: b- \; u9 j
命令: /Info ! |: W. b7 G( L) w
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。4 x& b/ Q, M6 y
用法:
: s0 o+ C, X% G$ L, S1 @ dnscmd ServerName /Info [Property] ( H# q% P" @5 b7 x! D' a
参数:. P% q) |, y( v6 [
ServerName 8 P: t- Z' }4 O; m4 x( }3 b1 Y% O0 F
服务器名称在上一篇中已经介绍过,此处省略。 $ c( d6 _3 M. O" x2 g, `
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
% b9 g% \% c) c/ b* T# {$ j$ G 下面是该命令使用的一个比较完整的例子:9 K- I( l4 N3 C8 L3 m
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
' o& G( \* c5 z& \& h1 Rdnscmd 172.16.12.1 /info 只使用命令而不使用参数8 Q, I) b$ l4 v& [9 z3 ~' w; G. A
输出的信息:) o( V, B! _" s: d6 d; C% @0 L2 J5 e' Q
DNS Server 172.16.12.1 Information:
$ {. X( Q- T8 | U# CC:\>dnscmd 172.16.12.1 /info
) R3 m0 F% R9 @5 ], ~' `7 VQuery result: 查询结果) d2 S6 `2 D* N4 T2 |5 s
Server info: 服务器信息
: j, B6 V- L% y0 \, y3 W ptr = 00074718 端口
$ n: s" K: F, T, }/ b server name = myserver.microsoft.com 服务器名称 s& q9 f8 \- Z+ N3 L# A1 J4 C
version = C2000005 版本4 U4 q5 X5 q& R/ d& z/ K
DS container = c DS“容器”
: Q3 A I5 ]( n% {7 F Configuration: 配置信息 这些信息的含义请参考有关资料( m) }- t, A( t; R9 h
dwLogLevel = 00000000: D4 w4 j0 a- Z2 l8 Z6 b) `
dwDebugLevel = 00000000
2 u( Q1 I. Q3 r/ L# X* R% c dwRpcProtocol = FFFFFFFF$ R- U {* D8 \2 `. |
dwNameCheckFlag = 00000002+ u2 j% m' s- W6 W$ X8 J# c u
cAddressAnswerLimit = 0
2 A$ i$ K8 H+ D0 x- H6 I dwRecursionRetry = 3
m! n0 @$ y# T6 L dwRecursionTimeout = 15& p# C, s, w9 Z2 D. |. ]
dwDsPollingInterval = 300
3 D- {7 E# V, p8 }* H0 y. n Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
# e1 j2 \4 @* T1 efBootMethod = 3 w# [% E: M( p9 Y( {/ `8 z
fAdminConfigured = 1
5 G0 A z/ G$ g6 S" [0 K; T. jfAllowUpdate = 1 ) B' J) y& w# P& L8 w: j6 z
fDsAvailable = 1 & _- g n" g. j8 V5 p3 l' `
fAutoReverseZones = 1 2 N- G3 x, y: ?) A6 m5 |( Z
fAutoCacheUpdate = 0 2 u* b8 o# ~8 v0 [
fSlave = 0
6 f: |& r$ r) l) w! y8 GfNoRecursion = 0 0 l9 k$ `3 C3 _4 A+ a, ?
fRoundRobin = 1 [3 ?1 P" l4 f' u9 V
fLocalNetPriority = 1
; c0 b& f. E6 n1 d9 jfStrictFileParsing = 0
8 i/ x# N2 H1 g( KfLooseWildcarding = 0 % P s! D# D( k. Y
fBindSecondaries = 1 $ W+ P- U* K! l' C% I, H9 b- D
fWriteAuthorityNs = 0 ; w5 O V/ v. E$ l+ D
Aging Configuration:
% {5 u3 Y; u0 N, C2 pScavengingInterval = 0 9 s) O9 y( ?: U
DefaultAgingState = 0 * j* ?" Y& {( ]6 k5 p
DefaultRefreshInterval = 168
3 _) a" J( M: N$ Q" x1 ?9 N0 CDefaultNoRefreshInterval = 168 / y4 K. B* ~7 P% Z: |
ServerAddresses: 6 B5 \; x* _) G( Y S. I- n
Addr Count = 1
1 b. J* F" K5 K7 E" p# O) E Addr[0] => 172.16.12.1
0 ^" n# A5 J5 M7 |( d2 ~5 i ListenAddresses:8 z! |- A- p5 @
NULL IP Array.
, L: H# o: X7 P) y# T Forwarders:
. P' b% c! v$ I$ o Addr Count = 1/ Y9 g: o) |( `" N7 Z! v, y
Addr[0] => 172.16.4.3
! o8 x# `! g8 C$ X! K4 j. w' t% E forward timeout = 5# I: G e2 Q! A# { T! k! c4 R3 \
slave = 0
/ O6 F" \( s' L# ]$ UCommand completed successfully.命令顺利执行完毕
0 F$ G. t2 x, Y6 \ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
# _7 E% t- S) l2 K; C7 n 命令:/Config
Y% E- q2 C5 y4 L 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
: `- ~* i9 x* d. Q2 G3 ?6 H- `
9 ]/ g6 J1 J& p' \' B 用法:
5 o- I& b- Q4 h7 m2 W0 l3 L dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
6 X6 M) D# Y( ? 参数
# L- ]9 u# K8 {8 s ServerName :服务器名称,意义同上 : O0 s$ F* O4 U
ZoneName:, [) `# d/ W4 z+ Y
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
! ~0 A0 O7 v4 I2 k$ i6 o Property: % S/ I r, u' o0 l
这个参数是属性。这里所说的属性有:
3 a& I" i) ]( a, M 与服务器有关的属性:例如:* e' U$ r {: [5 A+ _' ]) K. R
/EnableRegistryBoot" ]; m) N7 a/ p1 ^0 J/ X% }$ F+ m
/RpcProtocol) M8 p6 L& G/ Y* I- c9 I
/LogLevel5 W% i* B4 d2 o- l
/EventlogLevel 等等 (限于篇幅未能全部列出), E$ X! C4 j+ n. q6 p; \
与Zone 有关的属性,例如:
3 D' A2 E% s5 D' } /SecureSecondaries
7 M4 U$ Z) @! _ T( O$ { /AllowUpdate
2 C0 a$ W8 g& @1 D /Aging s8 [! }% f# w
/RefreshInterval Value5 u, B$ H1 d [' \" f
/NoRefreshInterval Value" N5 K! X3 |" D: b0 a2 n
属性值:+ Y U |# F% d( J, c6 u: ?
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。3 a) e+ z0 H2 z# j# S/ n
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
8 x4 Q i# t7 Z; p! J& d# N 命令: /Statistics1 ?$ ~' s7 y1 G8 L c1 g, z8 Y
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。+ q! d! b E2 N4 I; N, S
用法:
, d5 ] N: {0 u$ W dnscmd ServerName /Statistics [Filter|/Clear]) V7 K4 U8 p' ^- Z- \1 W# S' T
参数:
8 N {7 L" _* @8 P( fServerName
, {" y4 }; q' W; S7 v服务器名称,含义同上。8 j+ v5 c6 n8 L# S3 o! t
可选参数介绍: s. V8 j3 ]9 r& h
共有两个参数,每次只能使用其中的一个。
# h' s0 z0 Z S7 s; m 1.过滤(Filter)
% O% U8 P2 K" M5 R9 a0 ~$ S 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。/ N A- Q3 E- S8 t: U. x
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 2 d5 i6 q5 g. }; t: w
00000001 -- Time0 _" Y9 H$ T! g3 t' p: q
00000002 -- Query
0 p' j0 U. ]$ L) R+ a, Y6 h4 Q 00000004 -- Query2# E! s0 b3 W- U7 }
00000008 -- Recurse
# q! c6 D; s j( z* x2 S# q1 I n 00000010 -- Master
1 d3 M! }5 K! q, i5 @- } 00000020 -- Secondary' f9 r L. ~3 Y, P, o& t& N
00000040 -- Wins
8 A5 c9 _" i8 O- d6 N( m+ X! B- z( o0 | 00000100 -- Update
$ O2 i4 ^) j: M5 ` 00000200 -- SkwanSec* X: c: Q) c) u
00000400 -- Ds4 C3 l6 x8 y! h! v
00010000 -- Memory
8 [! S6 P, S" d. ^/ J( b! ~* @ 00100000 -- PacketMem6 q$ D- |# v* l) Y/ V9 Z. c
00040000 -- Dbase
% _& x2 J& w2 j5 ~" i! O0 Z 00080000 -- Records
: _! F6 q* x4 A$ y- z; S) ` 00200000 -- NbstatMem
# ~* A3 O' S, v 2.清除 /Clear 2 o0 h5 u) a4 i; v# e6 u
这个参数用来清除统计信息。
( x- u; D* ^9 ]! ? 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
5 y" S7 V/ S8 Q( O! W8 s* G7 {' b1 R9 \" w0 U
1 S% Z2 B2 V7 S1 A; I) ~
& {. X/ b# ^$ ?( b& a |