本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
2 h: {8 T! `/ B+ q$ y5 `" N) A 命令: /Info
1 o7 s% Q+ V+ {( f& n% @5 T 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
( x9 i% m+ U+ b7 h 用法:" \1 \: v5 B5 b9 t. \' n0 z
dnscmd ServerName /Info [Property]
. P; ~# ^+ q5 r2 g6 y 参数:$ \3 z; Y9 k8 \$ V6 K4 k
ServerName
, t) z, {2 K$ f 服务器名称在上一篇中已经介绍过,此处省略。 2 j* j6 ^1 E4 G) \! \' L; Q' ]: z
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。7 h) B, t2 \4 ~+ y; `/ _
下面是该命令使用的一个比较完整的例子:. [0 c4 x" h4 E0 o
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:2 _9 w: T( L. J6 I- q1 t. x% h
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
8 l4 L# w% f5 @输出的信息:% t* S* `2 M, u4 ]% O2 ?) [
DNS Server 172.16.12.1 Information:9 y$ B2 s+ B1 t0 M
C:\>dnscmd 172.16.12.1 /info
* g0 g9 ` I% m! _Query result: 查询结果6 a% l! b) @& @* r
Server info: 服务器信息
* U/ @9 ?& _' n3 P. \ ptr = 00074718 端口, T& n* w! E$ t
server name = myserver.microsoft.com 服务器名称
2 x u( N1 F& U5 `0 A$ { version = C2000005 版本$ y8 P/ R U7 W8 M# z3 }
DS container = c DS“容器”
: w& A' {% |7 U/ p8 x- ]+ t# r Configuration: 配置信息 这些信息的含义请参考有关资料
+ K) z% U1 u% z5 z0 q- k dwLogLevel = 00000000- K* m$ N6 Z# l u% I) p* c4 G
dwDebugLevel = 00000000) h% c4 L) b5 Z6 ^ x; [
dwRpcProtocol = FFFFFFFF. w* P0 o) B- G- F
dwNameCheckFlag = 00000002
1 ^" ?( W" R. f cAddressAnswerLimit = 0
4 ]3 p* J4 O$ `4 g6 y3 o* U dwRecursionRetry = 3
6 q. A0 t& L" M; f; f$ i dwRecursionTimeout = 15
- v9 e* s; l4 f7 {, h# Y$ t dwDsPollingInterval = 300
$ x' Z) N% _' H! q Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
8 I6 ?+ p: U& l2 `5 B. ffBootMethod = 3 H9 a. s: V% A) O$ G* i* J
fAdminConfigured = 1
% e5 B( Y; X5 k$ w! z8 W. RfAllowUpdate = 1
H+ G B5 {! f! m3 V: n5 |( |! P, G sfDsAvailable = 1
/ e+ [0 i/ |+ w: x( zfAutoReverseZones = 1
" S' V$ A1 G# F: GfAutoCacheUpdate = 0 5 e$ ^* H% v8 N0 E- G+ E
fSlave = 0
/ V% O2 G1 L" d% ^4 N# C: @fNoRecursion = 0
2 K0 {0 f( V5 L m YfRoundRobin = 1
0 N# j" s! W8 c3 c8 \4 EfLocalNetPriority = 1
: ^4 o; S7 `, u" {% X. @# WfStrictFileParsing = 0 ; Q5 U( }' E& z% @% L. y
fLooseWildcarding = 0 5 t+ i' [5 I7 r- M. R
fBindSecondaries = 1 : r# x6 O2 t; E9 z- z6 W
fWriteAuthorityNs = 0
7 ^7 ?" V) d4 ]; g+ Y) I( [) o' XAging Configuration:
$ j# O. s- V, a1 l4 \0 {$ W1 S" cScavengingInterval = 0 . [, D3 Z* {2 Y% h7 _0 [# T
DefaultAgingState = 0
0 h' R4 f3 m( GDefaultRefreshInterval = 168 " v$ b' x) G& ?. A; {+ R) K
DefaultNoRefreshInterval = 168
7 `) R$ E6 w4 f- s" B; A% n$ O, y( x ServerAddresses: 5 a+ w9 I6 @: B( I, D) d
Addr Count = 1( J- I' Y$ e S
Addr[0] => 172.16.12.12 o. K9 `; m$ M/ q
ListenAddresses:- V" I' t* p! ?& a& b6 G$ h
NULL IP Array.% t. }8 E2 e# k7 \- @
Forwarders:9 t7 E" G1 {5 i' M* \6 @
Addr Count = 1
4 J& m' n6 d T+ n' N" e Addr[0] => 172.16.4.3
' m- U% v- i' {* n# v forward timeout = 5
' N% z/ o1 w8 }# O' X: i! H+ I slave = 0
0 r3 j9 d: y2 L1 K* {! N/ aCommand completed successfully.命令顺利执行完毕
6 `6 h4 b U; V/ D1 u 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 + @8 f o7 s% k5 ?
命令:/Config
1 M. Q+ ]+ c7 n( O; `. }/ s: Z& | 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
/ e' i& e9 t+ r* s3 F) F
6 v3 z" z. f( A$ A# e0 ~ 用法:# i( S) ^" R5 i2 i6 T1 A# M
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
9 b+ T3 I0 o) Y$ L2 \0 |- ]% ?, b 参数
8 W2 K8 j- p2 P p ServerName :服务器名称,意义同上
- P" y! d: x: i E* f ZoneName:9 F3 N, _8 f1 @ c% B4 `
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ; }. x O$ t( {6 w
Property: 1 p* T3 ] g! z( o7 r% o" z
这个参数是属性。这里所说的属性有:' I; L# {. u' Z
与服务器有关的属性:例如:! `3 S$ D n0 @3 n
/EnableRegistryBoot
, m' g, n% b4 r$ P, n2 e1 |/RpcProtocol0 h6 J6 H: {* s$ R8 {+ q
/LogLevel' h) n- N- I& C% Z" ]: M
/EventlogLevel 等等 (限于篇幅未能全部列出). s4 R5 j9 r9 J" S$ g" R
与Zone 有关的属性,例如:* L H K9 U; |% b y% I+ O1 G
/SecureSecondaries. F- N, u# m# q- L& g
/AllowUpdate
, t* }0 P% B/ |" |; E$ G G y$ f /Aging
( P, a" b7 ^" w. { /RefreshInterval Value
9 }, a0 g" J. @+ i4 j' g /NoRefreshInterval Value
J0 _0 F1 P! f1 P 属性值:
3 [( p7 ^/ B6 E' W 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
. u* c# L8 c" W5 o6 s9 F从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。1 Z/ p# ^. ?3 P" l/ R; |
命令: /Statistics" O2 {4 c, g; I, {5 @6 O
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
$ ?# c. M, [0 ?% v 用法:
. S W) e* k8 t& ^/ O dnscmd ServerName /Statistics [Filter|/Clear]+ t# |! u( Q9 R* z7 t: b+ h
参数:
K" n2 n, h$ K" E2 uServerName
4 Y9 z7 ^5 y7 p1 t7 e服务器名称,含义同上。
9 W3 A" U/ Y8 v8 r- d可选参数介绍:! i+ z' Y- T# L1 |: _* Z
共有两个参数,每次只能使用其中的一个。
[2 M p1 p% B5 U 1.过滤(Filter)7 B4 m. R" I& ^" [: U; ?
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
( V( R. ~ g: ]5 `5 _可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
2 z" d) a: _4 N; P* g 00000001 -- Time
% c0 A5 K- A p" i( c: W9 ~ 00000002 -- Query$ l1 h2 Z6 x7 E, c% g; @6 H$ G( M
00000004 -- Query23 E$ `/ q; c) C* a5 Q: |
00000008 -- Recurse
7 e& g" Z- i1 l 00000010 -- Master
8 w+ Z ^/ D7 y 00000020 -- Secondary
& z5 f$ _ L; y2 g- ] 00000040 -- Wins8 N9 q( Q; S, Y+ C9 N. ^/ {$ |
00000100 -- Update
# E9 e+ w7 V" I) l2 b 00000200 -- SkwanSec
* T8 P+ i! J; S+ c$ B 00000400 -- Ds
6 j2 M9 \3 S* _9 r+ }& s 00010000 -- Memory' l# e9 Q* h- W7 K1 S( P
00100000 -- PacketMem
$ k, B! O( {# N* \3 J# K* [ 00040000 -- Dbase
4 t, b7 X* m% m$ g% v L9 o 00080000 -- Records
9 `7 W0 x7 `! U# {) q& g 00200000 -- NbstatMem
( \8 O. f" n3 {6 _. k, w 2.清除 /Clear % b T8 H( O: `+ f
这个参数用来清除统计信息。1 r" V1 Z. _; ]( b9 N" Z
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。: U8 Y3 r9 T5 A& `7 M1 j
2 m9 o3 w& _1 E- h# }( e0 L( w
1 v; g$ e$ L4 f, {7 f0 X# m
- Q* t( p6 a/ P* q; p6 y |