本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。3 U. ]+ q/ d3 u+ V; o
命令: /Info 3 y% o" s N8 E8 J: R, p; D
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。0 `/ x" s" c2 F' @' ?' p
用法:
@2 p( L/ f+ |7 M5 O dnscmd ServerName /Info [Property] 5 l" [. W8 Y/ P% s7 v5 p6 T. b6 c
参数:! {$ d$ L+ K9 q! H, w' z9 W
ServerName
- R, z0 ^/ z0 n 服务器名称在上一篇中已经介绍过,此处省略。 % r" F$ _; c% W* L/ f! m d0 W
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。! H: N8 V! @% m. o4 J J8 u
下面是该命令使用的一个比较完整的例子:8 L5 ^3 w7 ]8 X
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:- `5 i K' R( Q+ O. F# V9 u) v
dnscmd 172.16.12.1 /info 只使用命令而不使用参数) n1 {, h+ {: }2 k2 ~- Y
输出的信息:" D' y) j- M& o6 J0 _: O
DNS Server 172.16.12.1 Information:, F* D+ ]: X7 P- T1 ?
C:\>dnscmd 172.16.12.1 /info
& l+ ]% H' z9 }- EQuery result: 查询结果' ~% e4 b7 ~) u, v+ H
Server info: 服务器信息. [# H. |8 H$ m, I' ^' h
ptr = 00074718 端口
1 |+ e$ e- m4 U" r3 p server name = myserver.microsoft.com 服务器名称
- w& H" d2 a$ a/ Z0 I version = C2000005 版本
0 R8 \2 `) {, f. T; T: o DS container = c DS“容器”" N1 p) l2 r7 e- e0 N5 f
Configuration: 配置信息 这些信息的含义请参考有关资料
/ c/ T# z9 G) o0 D Y% d dwLogLevel = 000000004 y4 z \& b0 W' y5 O4 k
dwDebugLevel = 00000000. N7 y9 s, D/ f3 Z
dwRpcProtocol = FFFFFFFF
( |2 L1 ~ M k' x. r. M dwNameCheckFlag = 00000002# W B' l5 \. V% i( k
cAddressAnswerLimit = 0
' N4 i; M6 V% K; l2 @0 O) H4 G dwRecursionRetry = 3
) X! ~$ E. e7 F4 J2 c1 H dwRecursionTimeout = 15
* j: L# M2 f, j& ~ dwDsPollingInterval = 300
m9 M* a; |4 d5 a3 n& l _ Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料- X2 u; f, W9 h. b8 u3 y" {
fBootMethod = 3
- E" O) h2 U5 F0 f* j# R' Q, KfAdminConfigured = 1
% q2 {' Z' q, {" efAllowUpdate = 1 ' L. L7 D( z2 n3 V! z0 Z) s4 Q
fDsAvailable = 1
& {7 h" I0 E' _9 |fAutoReverseZones = 1 , I& x* C( l/ h- G: N5 o' A& P
fAutoCacheUpdate = 0 0 d. q3 G: P. J8 G1 s8 e. z- m
fSlave = 0 1 u# V' T: Q8 i) w# ?: _
fNoRecursion = 0 - Z9 b/ U m3 ^" F
fRoundRobin = 1
8 U, |( S5 t+ ifLocalNetPriority = 1
3 n; Y( Y3 c* g! e/ K% g4 M# [3 ^fStrictFileParsing = 0
# _: t4 @4 E$ _) ?- lfLooseWildcarding = 0 $ X$ S$ v+ T$ ` Y( ^3 i
fBindSecondaries = 1
" {. y9 K* D2 H9 X1 q2 n* {- | U0 {fWriteAuthorityNs = 0
9 c. F. O* C1 B8 ~) o3 KAging Configuration:
) z5 c. m. j& h1 SScavengingInterval = 0
- X# Q3 v, D( G9 J \# RDefaultAgingState = 0
5 E1 E, P- T0 b* u; BDefaultRefreshInterval = 168
$ f0 R" R e" ]2 ZDefaultNoRefreshInterval = 168
) n: i" ^; v* Q& r& ~ ServerAddresses: ) i, A3 }$ x. V* T
Addr Count = 1
- g) b. ` V* i( W1 N$ {, T0 m Addr[0] => 172.16.12.1' }1 L' _, M* `/ @
ListenAddresses:
s& U3 X, m: ` NULL IP Array.& c/ R/ X: d0 C/ M+ w) O2 p1 B- x
Forwarders:
9 @! g h+ T8 ]+ T; P( | Addr Count = 1. }4 Q6 A" H& l1 N
Addr[0] => 172.16.4.3
2 C: [ f) ?5 l5 F forward timeout = 5
% {6 Z* B: |. b5 m" M1 t5 E# R slave = 0
- U8 M/ V' k- o2 m7 \Command completed successfully.命令顺利执行完毕 - j# u/ t& C( A4 e4 A
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
" X8 s V6 ^6 `' S: X 命令:/Config" @6 p7 k1 b, B& h6 v
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。! d" b5 ^: e$ s
3 o, q8 J% V3 r 用法:0 B1 J9 e. K& f' u$ _1 X, s) k
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value# Q4 z" P2 f% d
参数
8 n! @! A: B: F7 Y ServerName :服务器名称,意义同上
2 [ z. N% t' b+ q1 ?$ l3 C+ e ZoneName:
# _8 L; D& |0 c4 U2 L# F 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 8 a0 I& T) U' C
Property: $ F: g( l) `5 Q I+ ]0 h p) Q
这个参数是属性。这里所说的属性有:
+ Z, B. R8 a5 s; K2 }& d! D 与服务器有关的属性:例如:( w8 |$ @% `: h
/EnableRegistryBoot
* E& q* S8 @( H3 ?/RpcProtocol
5 S" ~' i6 ~0 G4 L' F+ B/LogLevel/ t8 w4 X. J$ c b2 \
/EventlogLevel 等等 (限于篇幅未能全部列出). R: h8 f; V3 S4 o
与Zone 有关的属性,例如:
8 t. A+ a( a, B* e8 P /SecureSecondaries1 A* i. j; `3 m: E5 ?) m8 d
/AllowUpdate
( z4 G+ l% z( t8 C7 S* x /Aging
8 S9 a) B d' q: n% S /RefreshInterval Value6 u, o$ L9 ?: j" i: O( c
/NoRefreshInterval Value F$ B Y4 W L* `; [% R
属性值:
/ y2 T$ a% Z. T2 ~+ `! j 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
* H& X: T& R- A" W5 |; t从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。$ @% d* y0 V, \8 F; U+ c
命令: /Statistics( g$ |0 {& [ L" u! J/ r* u
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
v8 B* F( P* _: a$ @! Q" [ 用法:: E2 @" y& O5 Z( ^3 ]$ T
dnscmd ServerName /Statistics [Filter|/Clear]
- ]5 L. f( c7 H7 q1 k: {5 z 参数:
" T8 U9 x; z9 F3 I I* zServerName
" O+ T1 M4 G+ l/ C: _9 t: q服务器名称,含义同上。
! N) W+ Y( e: ~/ N" `& V0 p) J可选参数介绍:
, g4 j9 i0 E% b8 w3 Q共有两个参数,每次只能使用其中的一个。/ _+ G" k/ O( b% g& l
1.过滤(Filter)
6 }+ |2 N/ X5 I 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。: }. B. e- a+ `
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ) M T" o; m$ b7 z
00000001 -- Time! Z; J4 R+ r1 ^7 |+ m) L8 r
00000002 -- Query# E% _ K* M* }: \
00000004 -- Query2
/ M) ^2 e: Q, S 00000008 -- Recurse
. I/ j+ \8 e, g+ j- R) ] 00000010 -- Master
7 G7 J c9 _( d# p) {2 L 00000020 -- Secondary
5 P4 L. w$ J9 A2 x* V# Q7 U! Z* } 00000040 -- Wins
, T5 V G2 d5 e$ D6 j, O 00000100 -- Update
% V+ ^) b" v; P* C 00000200 -- SkwanSec( ~2 Q: s m* X: C' A
00000400 -- Ds+ x4 M& P5 |) s0 w- J4 p6 a5 N3 Z+ r
00010000 -- Memory' ] W' H) V6 [8 x; L
00100000 -- PacketMem
6 e! p; [# j3 f9 s! k: F/ ~ 00040000 -- Dbase7 r% |3 @6 n; V c, _! p
00080000 -- Records
- ^) j& n/ {; k: Y v- b* I, U+ `: B 00200000 -- NbstatMem9 P+ _. a m0 n/ ~% l& M3 {
2.清除 /Clear " G8 U& q1 ~2 o6 ]! p+ q. a
这个参数用来清除统计信息。
$ A+ c E+ Q7 c6 X 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。! y H1 U; [% X) I
: W; {7 l$ ] |! w. C6 @1 h) t2 F
2 c) B. K; }& Y8 y+ i' U" v, `* \* |/ h* {: q/ I2 E
|