本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。4 ]6 G) R" v, g% A( y
命令: /Info
& D7 ]! y0 Q3 D 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
, ~/ E( @( j- x1 X 用法:# H. |: u1 P. i5 @% d, x2 \% q3 e
dnscmd ServerName /Info [Property]
2 Q. }2 k% `7 Q6 Y* r3 v ` 参数:& i; Z% t4 f8 `5 K+ J; }" R
ServerName 0 W3 x1 |# W9 n/ i( B
服务器名称在上一篇中已经介绍过,此处省略。 + X$ Q- A, ^% W! [- \* l! Q
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。, W9 R2 t( Y# A+ f$ R
下面是该命令使用的一个比较完整的例子:' J0 k! [; X# X5 u6 S+ Q( T
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
. U2 s( @; k/ P+ ^/ pdnscmd 172.16.12.1 /info 只使用命令而不使用参数# E9 o# T. F" U2 N
输出的信息:
9 h5 f- E8 ?; z! R; d2 dDNS Server 172.16.12.1 Information:
. k/ }% _) Z7 }! qC:\>dnscmd 172.16.12.1 /info* {. N$ a0 x4 z7 z5 W/ P
Query result: 查询结果, d4 u9 ^" _* q
Server info: 服务器信息
+ n6 ]6 h$ v* r3 H3 |& r ptr = 00074718 端口0 u6 R, l* i, y1 c8 A, p
server name = myserver.microsoft.com 服务器名称
' c7 E+ c9 J$ ^0 f; S- L7 E# `8 \ version = C2000005 版本
# U/ g$ t& \3 D6 J. j DS container = c DS“容器”' n: O5 R/ t. A5 {: n
Configuration: 配置信息 这些信息的含义请参考有关资料
! [+ Y' F: i d( B dwLogLevel = 00000000
6 V. M7 d: F% T; K& l dwDebugLevel = 00000000& d5 U" p) E* d
dwRpcProtocol = FFFFFFFF7 K r: g+ @/ S+ t- G G
dwNameCheckFlag = 00000002
6 l/ e3 ?: z' P5 a8 \3 Z cAddressAnswerLimit = 0
$ @3 H; C7 G& p7 e/ w3 f dwRecursionRetry = 3
2 K) A" e1 |+ L5 f0 b dwRecursionTimeout = 15
8 y; c, _! i0 O* A3 v dwDsPollingInterval = 300
7 ?6 e$ ^3 V! p; t, \- s Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料! s+ N5 ` L, v( c
fBootMethod = 3 7 @1 g! y0 ]0 q; X' B2 [
fAdminConfigured = 1
1 }$ K ]+ X9 g8 JfAllowUpdate = 1 9 U [: ?7 S% G7 \
fDsAvailable = 1
, K9 W5 F7 `2 z4 DfAutoReverseZones = 1
2 t1 P; k8 j) ifAutoCacheUpdate = 0
6 f3 [! J6 q7 f: \# ufSlave = 0 f. a7 S9 ?2 z, m/ U" K6 i
fNoRecursion = 0
# x+ y, q7 K4 Q; J9 C- ufRoundRobin = 1 ) @8 C, Q% N8 a1 U. A2 A- ~6 R; I
fLocalNetPriority = 1
$ o" l, d2 K. Q& F1 R" hfStrictFileParsing = 0 ( L4 n( {7 V. M P
fLooseWildcarding = 0 + R. X5 q$ i0 y. z% `7 j
fBindSecondaries = 1
# ?0 ]- l: ~8 W! p$ Q9 k4 @3 }" VfWriteAuthorityNs = 0
3 ?7 Y- Q; O/ h" j O( H1 b3 UAging Configuration: B2 t1 c7 [8 A6 I/ X4 m
ScavengingInterval = 0 # n4 Y0 ?; o# q7 g
DefaultAgingState = 0 1 w+ M* ^* \2 Z T
DefaultRefreshInterval = 168
. Q8 O- \3 [! V9 \' } g$ uDefaultNoRefreshInterval = 168 - O# ^ {, d; l% o9 S( H
ServerAddresses:
8 z( W8 N3 J% D+ z, p8 \( E Addr Count = 1) ~, V" \* L. p# E, _* s$ a! L
Addr[0] => 172.16.12.1
7 e! f1 W% U' _, L* j ListenAddresses:/ C2 r7 ]' m# i/ o4 R; O" q% o+ P7 l
NULL IP Array.+ l* L' v. u3 g9 N1 u' w# h
Forwarders:
) |' t7 Q- s( B' T0 ] Addr Count = 1/ x8 `1 V% i& X/ u9 F
Addr[0] => 172.16.4.3
* m1 @# h& V$ n, b" v: h1 U forward timeout = 5
) k! ?( ~# t6 w& }8 S slave = 09 u9 T6 n! D* G: s3 R7 F9 E1 U
Command completed successfully.命令顺利执行完毕 ' s" F* {7 z3 f/ f: v7 j- M& V: u
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
7 S, K) z- Z4 R' j8 R }: j 命令:/Config
" T1 p. L' m9 Z8 z! x 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。5 c( }- r. f& R' n
6 f; O r1 m0 B$ m# [; D' _1 V: e
用法:7 R* z; o: W: J$ y- F% K
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
! ]( D, r8 n Y7 a 参数4 B1 M" N. |: }' h* C; \
ServerName :服务器名称,意义同上
; m: a9 ?) }$ x0 Y) `& ] ZoneName:
2 P. K% {' E3 Z5 { 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
6 X7 v0 ^' Q! ]& | Property: * ?" @: v: O6 S) v# x; w
这个参数是属性。这里所说的属性有:/ G$ T T1 ~( F; y; r/ o) k
与服务器有关的属性:例如:7 _/ _/ x2 w: s8 t# H
/EnableRegistryBoot
' d5 j5 D; ` e; x! y/RpcProtocol; L4 r! V* x- `
/LogLevel) L% b0 S0 C j6 \% k3 C6 n
/EventlogLevel 等等 (限于篇幅未能全部列出)5 `' z; S$ T9 M; {/ T2 P+ |
与Zone 有关的属性,例如:
, C) y% ?+ h' ?+ p! E /SecureSecondaries4 W: ~! I3 B0 N5 Q/ u" {
/AllowUpdate
/ `8 n7 U0 c, b% t9 q$ _0 Q /Aging+ z k& P; ?; e8 v
/RefreshInterval Value0 x0 P" m. H) }* r1 Y% z
/NoRefreshInterval Value
% ?0 N9 p' g g% U: M; } 属性值:
# N( {8 H8 }+ L9 }0 r& P 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
$ r- v# u: [) K8 R* O: Y3 f从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
5 C- q f X6 B R& R1 j% \ 命令: /Statistics
; d8 u' ^: ?. u( H" H. x. D, q9 g' n 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。3 Q# U+ j# [) c5 q6 J* ], [3 `
用法:
0 M( |* i+ y% C2 A dnscmd ServerName /Statistics [Filter|/Clear]
9 g* Z) T6 N% w" }! B 参数:
2 }& o$ X# Y w3 U# n* `, ]7 MServerName
5 u- J) ?2 j# ^0 ~: Z# K4 _3 q% j服务器名称,含义同上。) S4 Y9 z6 D0 y
可选参数介绍:
7 k; V5 n# ^" y5 N- N- n; M+ e7 S3 O共有两个参数,每次只能使用其中的一个。- |# G' q3 k1 Q9 ]# x( ?3 @# [
1.过滤(Filter)
9 C# E0 `8 G$ ~; D2 P2 W( a9 U 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
9 b2 o: F+ j3 t4 N7 z可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
/ M% p1 Z1 C+ F8 W0 B 00000001 -- Time
' P; E$ v" F4 w- _/ d+ M; ^ 00000002 -- Query
% Y+ I* Q. `8 g* f1 h 00000004 -- Query2
( m& M; i6 G' K 00000008 -- Recurse b9 b, s6 S! z7 U- D4 J
00000010 -- Master7 t& H1 _4 @! v9 P. _
00000020 -- Secondary
9 i) C7 C: ^7 W" C$ J& U 00000040 -- Wins
! e& D. I, _: c+ t 00000100 -- Update4 [1 e6 v3 t9 `+ n4 d3 A' N- H4 ^
00000200 -- SkwanSec) N7 |6 o9 O. N; [* |( i
00000400 -- Ds6 p) x7 l3 I, j( A8 v$ ~
00010000 -- Memory
7 c0 b/ Y) Z+ } 00100000 -- PacketMem
+ X6 N) k8 h! I 00040000 -- Dbase
. W# x% j( s8 e' U: t" K! t 00080000 -- Records
4 z: a" q; s, u6 I! X 00200000 -- NbstatMem: }7 n$ e) n* K, G
2.清除 /Clear
. w1 j6 G5 X- Q, T 这个参数用来清除统计信息。: i% W' A2 Z x6 w/ c
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。' ?) @- v" X& t- x; a; k& y
2 d6 \) Z3 V( m; I6 x+ j" C2 ?' U, \ / h8 J3 m& Y' X& \1 @7 A
( B* p+ J+ Z; s3 F* y1 d7 X |