本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
Z; j; T, X2 A; K# L* p9 s 命令: /Info
* h2 m f. U; ? 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
( B, B$ i/ N/ Y# }" N, s 用法: T1 U: S! W2 L7 i
dnscmd ServerName /Info [Property]
- A% u8 @+ L8 s0 m! ` 参数:% X* h1 }1 ~) a2 e% @6 N
ServerName
" ` i) y' V+ O$ h: Q1 f 服务器名称在上一篇中已经介绍过,此处省略。 5 M# O( E9 I6 [2 W
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
3 p; m5 t/ `, p2 l# H9 j 下面是该命令使用的一个比较完整的例子:' c$ H" J8 q! \6 I1 b
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
# G2 w: _5 v' R$ z# Mdnscmd 172.16.12.1 /info 只使用命令而不使用参数
( v: ]3 @+ o; r; `, g( }输出的信息:' i4 P; N: H; ]" ]: f
DNS Server 172.16.12.1 Information:8 V) C H) K! x' K$ K
C:\>dnscmd 172.16.12.1 /info
/ ]# [; p0 J D9 j) GQuery result: 查询结果
# j/ E- R* y+ Q5 [& CServer info: 服务器信息
X2 R% V% Y: v. G+ t' A5 i9 e ptr = 00074718 端口
4 i$ Z7 N5 a. _; V: D! c server name = myserver.microsoft.com 服务器名称1 h- V9 E* B. a& M/ t: j. m; p& n
version = C2000005 版本
/ c: t& V7 u: Q! n DS container = c DS“容器”6 O2 c# w6 J) g' o" ~ Q
Configuration: 配置信息 这些信息的含义请参考有关资料- M! E' z7 N4 Y! D& X' z& ^5 N2 F
dwLogLevel = 00000000
5 O2 i" i- x: `' w+ E& W1 [( p dwDebugLevel = 00000000, ]# w8 U' n4 U. N$ R( a m
dwRpcProtocol = FFFFFFFF
' w1 Y7 T$ Z& l4 X5 a dwNameCheckFlag = 000000024 [- g1 H* l, `0 m# B9 p
cAddressAnswerLimit = 0
7 j# Z! k$ q3 G2 l9 P0 P5 ` dwRecursionRetry = 3
& }! j# k8 i" U J, h+ i* { dwRecursionTimeout = 150 F# W4 G- Y. z3 R1 s& Z4 f2 k
dwDsPollingInterval = 300
+ C4 G+ l0 |) K6 h4 J& d Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料' X5 I# r5 p0 O0 u: Y+ x) \
fBootMethod = 3
D- x K; i9 r/ OfAdminConfigured = 1 W7 s5 K2 ^: _0 M( g8 s) U2 i/ Z
fAllowUpdate = 1 ! W3 T: V8 D5 |3 P* ?5 t2 w; L
fDsAvailable = 1 9 `; M$ `/ V6 [/ m1 T2 U
fAutoReverseZones = 1 0 X' N: z8 ?6 A+ A# n6 n' J
fAutoCacheUpdate = 0
L. H u, N9 b2 H" P7 l9 O4 Q! v# @fSlave = 0 . ^5 v1 I3 p6 h$ R
fNoRecursion = 0
8 Q9 q( |7 E q: hfRoundRobin = 1
# z, x' I9 G/ Q$ hfLocalNetPriority = 1 " S) ]- i& b% y5 l+ X. t2 o5 h
fStrictFileParsing = 0 8 _" s! p9 Y# Q: h" W7 a; O
fLooseWildcarding = 0 % ~4 z& V2 _5 P N/ J( C- t: q
fBindSecondaries = 1
4 f/ {/ ^! T! k$ i+ Z* ffWriteAuthorityNs = 0
' ]' m- v( a$ ~/ W% sAging Configuration: / i% J. a- B3 Q' v: g' T7 o9 F* \
ScavengingInterval = 0 2 ?$ I" m* d% P- Q/ L
DefaultAgingState = 0
; E2 T( Y+ R( L% N: d5 J8 LDefaultRefreshInterval = 168 ! |! r$ f# x2 C$ }% P
DefaultNoRefreshInterval = 168 + q. D2 x6 _. ~- G q6 z% a9 C
ServerAddresses: . O$ H/ ^5 }% s8 t% @* r7 {+ d
Addr Count = 1' L$ k& Z" E( f/ `
Addr[0] => 172.16.12.1
4 d+ c9 n- T# X B( Z6 m" Z ListenAddresses:0 S2 I' j! I# S
NULL IP Array.: B$ H% e8 }* f; |
Forwarders:
/ f% W3 F0 x! s Addr Count = 1# R8 J: n; I7 ?
Addr[0] => 172.16.4.3% I* K+ s7 u0 F- l4 W
forward timeout = 5
3 X1 w3 T/ w% @ p slave = 0
# R& J* m# @+ \# oCommand completed successfully.命令顺利执行完毕
5 a( ~% e' E& E/ K/ |( M 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 : g, H# D* q* f% ` Y
命令:/Config
4 _' [8 Z5 K( n" N3 X4 l0 S 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。7 e/ R9 ^6 E3 U, R
8 z, w! |0 T! b
用法:
# {6 f+ e0 W. |! g dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
+ k. y+ E; Z y- ^ 参数7 g/ K6 B' Q: {, X1 t$ S C
ServerName :服务器名称,意义同上
$ }0 [) S& J* @1 l ZoneName:
3 E0 Z' A) k+ s7 Z; Z0 F 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ( P; Z% b' Z0 a( Y# X
Property:
' k6 i: p+ D" p9 T7 T 这个参数是属性。这里所说的属性有:8 z% \- k' F$ F, d6 e! f, z; ~
与服务器有关的属性:例如:
/ l# @! [' M k+ @/EnableRegistryBoot9 _; e" e+ g& X9 U7 u0 @9 r+ h
/RpcProtocol# y2 O! s/ M% U4 i0 s3 n
/LogLevel: q' w/ S; p" r6 w2 ?
/EventlogLevel 等等 (限于篇幅未能全部列出)
3 f- G$ m: R# w7 {. U8 Y* ^: `与Zone 有关的属性,例如:6 R* T1 M0 H- R" k M
/SecureSecondaries1 [" q( u5 w6 s* K
/AllowUpdate4 O- g0 w1 E2 P& A4 s% _$ c
/Aging
2 M9 P+ c/ Q4 F3 J6 k; T5 S9 }+ o/ X /RefreshInterval Value E# A& F# M5 O% ^; l; I
/NoRefreshInterval Value
: X+ ]# L1 G9 B1 D8 m 属性值:
9 [$ w( r8 d7 ` 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。2 g2 O# Z" R% [
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
+ N( ^2 N8 F& y; g# x- j. V3 B. ^ 命令: /Statistics/ u) I+ K2 m$ p6 x0 s6 m
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。 i4 }2 j+ c6 H. y8 s: `, l( P
用法:9 T$ c1 f- E! P* }
dnscmd ServerName /Statistics [Filter|/Clear]
! L/ h6 [8 i/ W$ n% t4 Q; L 参数:
& i- `4 D0 D* O p# W$ S8 sServerName
* b4 N+ ]/ r$ |6 v5 m }服务器名称,含义同上。
) m3 d; g: R5 [) I( _可选参数介绍: G& I0 \/ D1 C1 N
共有两个参数,每次只能使用其中的一个。- _! [8 u+ k7 Y; y" v
1.过滤(Filter)
# n1 { m, O( J* F/ w0 K- L 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。; W" ]" q3 }# K3 v5 l
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
! B0 @" y& h* v8 I1 M- d/ Y; C( G+ r 00000001 -- Time' ~# [; ]' J2 |& G
00000002 -- Query
: G! l$ T7 b0 O& n2 V 00000004 -- Query26 `" [# t6 O- t2 R& J, {4 F
00000008 -- Recurse4 }& s! Y% Q0 L' a! A& g
00000010 -- Master
' e7 D6 o4 V$ E" E! _3 l 00000020 -- Secondary) V# Q; D7 \) O: X8 v
00000040 -- Wins8 _ y! S) d9 x7 n
00000100 -- Update9 \; j4 m; V2 b' I3 j* H
00000200 -- SkwanSec7 w" L( i2 f" m8 D- @0 i/ @
00000400 -- Ds' T) Y& u9 V' \$ [5 {- }
00010000 -- Memory: P' d- L2 d1 C: m* N
00100000 -- PacketMem
& a8 c6 R* l$ l9 P: t0 U; p 00040000 -- Dbase
$ x4 q' j7 B; y h6 L! n 00080000 -- Records4 B5 @) g) Q+ }! l0 [
00200000 -- NbstatMem
/ F$ a. ? y0 s' S 2.清除 /Clear
+ j: W! b* Q; y8 v' ] `1 B 这个参数用来清除统计信息。8 ?6 @% r6 Z. U# v
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
) C4 P3 e) b- t6 j& x$ n5 R i" x8 k# J) {- B4 G& M0 T8 a {
! N- A% j( [" j7 y6 D9 P. ^, K( @) z9 A. {+ y0 J, w
|