本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
& K `& g v' ?, X9 g 命令: /Info 1 U2 S6 [( l& }9 F; C- o
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。! l! J6 ~0 r7 {( L: _1 o5 B
用法:7 m/ g, S( b$ E9 o* `
dnscmd ServerName /Info [Property] ( \/ s U& }2 ]* U3 N
参数:
; C6 \- }' O; I$ s ServerName
! ?/ t. N- j; I6 ^# e4 _$ p- ?3 y 服务器名称在上一篇中已经介绍过,此处省略。 2 @) e! O) G) E& N4 Z( M$ R
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。 U+ l- A5 `1 ?" T$ g# Z8 F* R
下面是该命令使用的一个比较完整的例子:& q# |" n7 R3 |
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:$ r. Y% c$ G' I% Z) n) s* x
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
& S- p# S+ b l, e8 O输出的信息:
# l6 ^# L5 _2 @) r. G5 eDNS Server 172.16.12.1 Information:
~, E7 X% F( g q8 kC:\>dnscmd 172.16.12.1 /info
, I1 @ r7 g, \" b. A! P( qQuery result: 查询结果1 o; B% M+ G4 \; D1 W( X* m/ O
Server info: 服务器信息
( k% T h+ p" p3 j: c) { ptr = 00074718 端口
! O) f" }8 h% Q4 t6 B server name = myserver.microsoft.com 服务器名称2 C8 Q/ s7 T1 Z s
version = C2000005 版本* h, y" } ~! P9 \
DS container = c DS“容器”* y& z: N4 m2 R( o' P
Configuration: 配置信息 这些信息的含义请参考有关资料0 v3 E) o" L/ W
dwLogLevel = 00000000. O1 k- y4 K& ~
dwDebugLevel = 00000000
; I" \- U4 n4 p( ^. e dwRpcProtocol = FFFFFFFF- N/ j: k6 _+ ~! Q) ]) _
dwNameCheckFlag = 00000002( l5 e: r6 f6 t: e
cAddressAnswerLimit = 0
& k+ N v+ N, m; I6 ]& {. h dwRecursionRetry = 3
" [& `% y& o8 N5 }% V( Y dwRecursionTimeout = 155 t' E' B9 |- h$ F5 D. e3 q6 L6 b
dwDsPollingInterval = 3008 W. m v& I9 N9 f" Q" M1 {
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
/ n1 j' W5 X9 @/ N1 ZfBootMethod = 3 6 K) {; N1 k+ G. o
fAdminConfigured = 1 " Z ] i" t8 G- i
fAllowUpdate = 1
5 Z& ~/ n" E3 Y2 O" j' n+ m6 |5 _fDsAvailable = 1 ! } g. r7 V9 K5 u3 H3 C! `
fAutoReverseZones = 1
/ l- e; V- D5 _6 ^9 o5 l+ BfAutoCacheUpdate = 0 q+ S% E3 N1 \
fSlave = 0
5 _* j5 E% u, q! CfNoRecursion = 0 0 t- x. s) Y+ s$ u4 y" |
fRoundRobin = 1
' Z$ Y; U) W! x! G0 M G& kfLocalNetPriority = 1 5 H7 @8 i8 g0 E# s. C3 b6 B
fStrictFileParsing = 0 6 K& u1 M- K, V8 h7 D" L; q
fLooseWildcarding = 0
6 d% V- _' L3 Y: E3 zfBindSecondaries = 1 / c8 `1 P- X+ k9 Y9 z( J
fWriteAuthorityNs = 0 : b6 t1 t. g2 t- Q( W
Aging Configuration:
( B9 c; p& m3 f: ~4 TScavengingInterval = 0 R" w+ e# }8 z
DefaultAgingState = 0 8 ~6 v }0 U( Q0 u( ^$ c
DefaultRefreshInterval = 168 8 b8 V2 u; d, K( w1 L! P
DefaultNoRefreshInterval = 168 . R: k. }. N) p b6 u7 S4 w$ D
ServerAddresses: 8 R+ q3 r4 H5 k1 \% J
Addr Count = 1. L' k. ]! o: t+ `; r9 G4 G/ b( {7 Y
Addr[0] => 172.16.12.1
3 E! _0 ~& O) Z ListenAddresses:0 s4 W. t7 }% x) z! t3 g
NULL IP Array.( r% p. v: s& w( \
Forwarders:
% m/ U. ~( f# k% r2 R& s Addr Count = 1
) B5 q1 I% ?9 e Addr[0] => 172.16.4.37 f# m4 C. U8 @- V' S
forward timeout = 5* I3 P; e# p: W* b `
slave = 0
% U; C9 g6 y% LCommand completed successfully.命令顺利执行完毕 }4 e6 ], x" M& \
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
0 ^! L& S- e- [7 F. m; ]0 K 命令:/Config
f# L5 _2 L* c1 s$ [' b3 i# h) A 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。1 \/ r) \- _" @5 i7 Q, }, |3 q
8 q6 H3 ?4 R$ u: C, }
用法:- d5 a% l* w7 t- d# a
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value7 m0 K" y! A' ^+ E' ^
参数
% N7 ~3 r" \4 H( u& H ServerName :服务器名称,意义同上
; u: ]2 Z+ [( }* M: z/ Q ZoneName:
; h) I5 l# u- l! o 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 $ b* _8 n9 j% j7 f4 k
Property:
4 B$ H& j0 k- o' k 这个参数是属性。这里所说的属性有:. J9 N8 a4 I i" b7 D4 X
与服务器有关的属性:例如:
. v! K& t5 ^% ]5 x/EnableRegistryBoot
0 L/ [+ R% k K6 \$ G3 \( A4 W/RpcProtocol
0 w$ U' h% ^$ o b, w3 q/LogLevel" _ O0 J/ Y8 I2 c. ^% B
/EventlogLevel 等等 (限于篇幅未能全部列出)0 e8 r& w" U X2 z% R
与Zone 有关的属性,例如:
% H1 v& M: M& |, X# B! E /SecureSecondaries
- t7 R$ T! }9 Z /AllowUpdate/ S; o3 a* n' i5 T0 A0 i9 w/ m" c
/Aging
8 c; \# z( v- ^6 g /RefreshInterval Value
) {; j7 Q/ Y m9 X) M /NoRefreshInterval Value5 { W& t' Y6 a5 \1 y. K
属性值:
: b. }3 y3 _+ s% ]2 N& J 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。 p; g+ g- |2 w9 N
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
% [& L8 Z/ ^! c# P 命令: /Statistics+ H" L# ^1 B* i
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
6 q+ l7 E$ e7 ?% _( d5 j% @ 用法:
4 I" p# c$ U4 \4 U& t5 f, n dnscmd ServerName /Statistics [Filter|/Clear]3 k% u: }! P& P$ K. c: F
参数:: F# a: \4 |) w. I4 o q
ServerName
* t+ P; C1 h0 U o% u$ c% y" H服务器名称,含义同上。+ G+ L4 S' j. x
可选参数介绍:
; R( _+ q( g4 {$ o" n2 o1 x: I共有两个参数,每次只能使用其中的一个。0 E$ p' Y: Q: y% C' U3 u o
1.过滤(Filter)1 E$ _& i4 W9 [& ~. q1 i1 t/ X) o
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。6 f2 Z. M* _4 ^9 D, V+ o
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ! B& S- Z' J2 d" U8 M+ ^4 ]
00000001 -- Time
U. P) W; B i 00000002 -- Query
$ u- `4 U1 _4 n# t) s3 _3 \1 @ 00000004 -- Query2
5 X$ d* d. L/ {: X7 M 00000008 -- Recurse) n" l. V9 m( l4 U1 b* _' f
00000010 -- Master! A+ Y! Y# a, R5 D& w
00000020 -- Secondary) d7 I$ c* g. C7 [ y
00000040 -- Wins1 k1 _; H% f( z* l
00000100 -- Update
3 R9 {7 Y; z, A% ^' j( U 00000200 -- SkwanSec, i& S2 C+ V; W- e& U% p
00000400 -- Ds; G) `2 P$ V) \
00010000 -- Memory8 s( @* {/ ~5 D4 v
00100000 -- PacketMem
4 @( D3 i0 i$ Y/ B 00040000 -- Dbase! F% h( m, s2 l4 h' i1 R$ h
00080000 -- Records3 n! S- @! J1 Z, u2 l
00200000 -- NbstatMem
% D5 E1 L0 V# p/ L5 M 2.清除 /Clear
0 C) f- N$ D) ?& J 这个参数用来清除统计信息。" T8 }* {' h+ O- { f
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
1 }) w) c0 H+ M+ l" X- Y
" a3 f* _6 q" E* [( H& s, m 9 ^: b4 N( L3 p% O# r! `
( X" y' S8 S% j0 q8 q |