本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
- G3 n" Q: |! ] 命令: /Info
8 B: _+ S: m/ t' Z7 ? 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。, l1 F3 y3 S3 j6 N9 v0 D- t
用法:( v% H5 r& s7 ^% g4 A
dnscmd ServerName /Info [Property] ! F- D0 Z: x5 X1 d! D( x
参数:
Y1 t6 [) D2 J t0 Q# a ServerName , T; F( f6 r" |9 K( m9 M
服务器名称在上一篇中已经介绍过,此处省略。 1 T5 p' U' G( Q* Z* q
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
' E; p+ Z! C1 A k+ n {6 B 下面是该命令使用的一个比较完整的例子:
( {5 p$ L- w& X) |9 ^- ~9 j O 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
9 R$ Q* @! f: p* Ldnscmd 172.16.12.1 /info 只使用命令而不使用参数8 T3 {, O# z3 |' k
输出的信息:
" B U9 e, g; y+ j3 }' s gDNS Server 172.16.12.1 Information:
% e5 [7 x1 R# M! bC:\>dnscmd 172.16.12.1 /info2 R: M4 ~ a z# l# J
Query result: 查询结果) T9 s( y9 F9 E9 k% ^7 `
Server info: 服务器信息
( V3 t8 f( T8 |$ {7 K ptr = 00074718 端口
3 \" q. d6 A0 H4 P server name = myserver.microsoft.com 服务器名称- A) \* U3 h# h9 q1 M/ f
version = C2000005 版本' |7 _. P! p" z( W% O0 \# {& G$ Q: {7 k
DS container = c DS“容器”
# z, L/ ~6 y' J6 G; Q Configuration: 配置信息 这些信息的含义请参考有关资料
; m% s- `( p- _ dwLogLevel = 000000007 o' G# x$ B( Q7 G2 b
dwDebugLevel = 00000000
( a8 N) T4 s% U+ K" U dwRpcProtocol = FFFFFFFF
; u7 S% d( _, K/ c dwNameCheckFlag = 000000027 Q% h1 n7 \' I0 g; s
cAddressAnswerLimit = 01 B. ?' p9 }8 k; R9 y
dwRecursionRetry = 3' @4 H( G; Y' T! g
dwRecursionTimeout = 15/ P- H* Z P% L
dwDsPollingInterval = 300- p" ?$ I2 C# X1 f" d, h2 d4 e3 P
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
' g4 o& o2 [/ w# B: CfBootMethod = 3
7 |6 A' S: `) ?! a* y( e; B; sfAdminConfigured = 1 6 p& g% ^8 o9 S o
fAllowUpdate = 1
2 ^/ t; {' Z2 y& ]& b2 a, ?/ lfDsAvailable = 1 ! Z; R: D! D5 S. S* a: k' q
fAutoReverseZones = 1 & H2 \& ^: s1 M% f2 J+ X
fAutoCacheUpdate = 0
. b% N4 G, k- S: a8 h3 P% }fSlave = 0
; }$ t: _& p, @7 L! r4 |3 Q0 `fNoRecursion = 0 4 E" B* [1 U; |
fRoundRobin = 1
# D9 V. X4 T% S' Z1 IfLocalNetPriority = 1 - f1 X0 a: ], P* Z& ^1 G
fStrictFileParsing = 0 ; j1 T( S' j x& h% K
fLooseWildcarding = 0 + j! K. V1 k/ L! a- S
fBindSecondaries = 1
. k9 s6 O" Y4 i; rfWriteAuthorityNs = 0
$ f) r5 q: U: n! f4 VAging Configuration:
( |, n/ j I' O1 t0 S4 [ScavengingInterval = 0 - C# D" M1 r! \
DefaultAgingState = 0
) j; n G# ?8 j; ]9 ]) U6 [1 pDefaultRefreshInterval = 168 0 x7 x0 z4 P C! {% h K
DefaultNoRefreshInterval = 168 1 U, _% v) a/ v+ ?3 l' a
ServerAddresses: 9 J& p: l: K0 Y" X
Addr Count = 1- X% e2 |5 S6 c2 ~* S8 F
Addr[0] => 172.16.12.13 R! q5 Y- ^+ i; I% x
ListenAddresses:9 Q6 D) @7 u5 |$ v
NULL IP Array.
' d5 N* n- e; b$ v Forwarders:
, H/ }9 A( \0 ^) d3 Q5 t Addr Count = 18 r2 c0 k8 f- R3 Y
Addr[0] => 172.16.4.33 f) p" }6 N* L$ I" Z- B
forward timeout = 5
, x; Z: w) N7 T1 C# \& N+ W8 P slave = 0
& Q3 _5 h/ f% p* L! n1 X- XCommand completed successfully.命令顺利执行完毕 % p( ^3 F5 T' D
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 ; \+ K4 |0 U" A2 B
命令:/Config
4 |3 C3 |. O/ W7 U" k 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
6 x/ B2 m" K9 k) V H0 l2 ?4 O$ ^/ N O: @
用法:/ L: b8 V/ K6 i$ |
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
, r7 _5 i' O9 Z5 P 参数
0 U# @+ X2 i2 g9 P+ C3 \ ServerName :服务器名称,意义同上 9 L8 ~( H* t, I
ZoneName:
, M2 O: J6 n3 {4 J6 ?! ?7 Y 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 # U, L h% f/ |' R6 ]: y0 w: w
Property:
$ B, D: U% X+ K) ?* L 这个参数是属性。这里所说的属性有:+ o6 b6 [' s0 p/ B6 Q) w+ Y
与服务器有关的属性:例如:
' v, Q5 T( Q0 C/ m! j# g- j/EnableRegistryBoot9 ~& w( J% x M! ?
/RpcProtocol
' P3 l' z; b! f4 \3 v2 A' ^) H* |/ [/LogLevel
: \+ F3 \1 I% J+ ?, y/EventlogLevel 等等 (限于篇幅未能全部列出)3 z, K; Z4 a1 N) F* y
与Zone 有关的属性,例如:- v+ C. \; A/ D7 ^% g- d, i
/SecureSecondaries
/ n4 F U6 ]! C p5 c2 A /AllowUpdate" F" a( F$ k$ X. R3 u1 J; K8 {7 F
/Aging
- o, W8 L0 o' D% q6 g3 I6 [ /RefreshInterval Value, j& r! c0 ~/ X3 |
/NoRefreshInterval Value r8 y/ l% Q2 l, h4 c
属性值:* H0 a, O6 s6 Y. w9 \
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。) R" h) L: E3 y ]5 N$ }* D/ {
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
9 b6 |, m8 B/ J, Q! y% U 命令: /Statistics( Z0 u! Q8 z% h
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。$ |: A/ ]1 ~: P m
用法:- K& u$ }. q& E a# Y: p
dnscmd ServerName /Statistics [Filter|/Clear]1 g$ d6 F8 I+ j5 z9 c
参数:; ^% S& J/ s- C+ q
ServerName ) P9 I3 D! e( Z; F6 ~" }
服务器名称,含义同上。
6 d/ F" C4 c" _5 }8 c; O可选参数介绍:
X- D8 D W" W# ^- z# {0 O共有两个参数,每次只能使用其中的一个。9 I# d. ~0 H6 x; u# p
1.过滤(Filter)
4 J$ U, M X3 t. t$ z 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。4 x( p6 o2 R. p9 ]- ?
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 0 E: W1 E% b8 I5 |
00000001 -- Time
' G- Y1 W. s7 u' v6 y0 r 00000002 -- Query
4 @1 A, [: R! {( [ 00000004 -- Query2# o/ F& W# o& _
00000008 -- Recurse3 C5 `$ p5 W8 o% D6 O- [* r# G' K
00000010 -- Master
+ P/ }2 I0 u2 ~ 00000020 -- Secondary# O3 v7 N* z* s
00000040 -- Wins
( O" P* m+ e# p 00000100 -- Update& p( x, ~1 Q. c! G. }
00000200 -- SkwanSec
/ z2 r* q/ ?1 G- i 00000400 -- Ds
% y0 v! [8 R# F 00010000 -- Memory
+ J, e! C5 f, @3 ^+ J6 ]) @6 G 00100000 -- PacketMem
' S) J; Q2 T0 Y& S 00040000 -- Dbase
1 O# [- y j( I" c5 A 00080000 -- Records9 H; T# Y0 k2 W( ]4 B5 X0 D6 `
00200000 -- NbstatMem3 x% _6 |) O; I! r& e: |$ n
2.清除 /Clear
! X3 V k; k% j 这个参数用来清除统计信息。/ ~/ H) y2 H: V3 C8 b0 U7 d
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
+ d! {- z4 ]- h3 _! c" Z, H. K$ A0 M, {# j- c6 X8 L6 ^ l/ @/ {
5 A7 A5 o1 H4 t+ N8 I/ U0 A( R
% A4 l/ y( p5 ^" `* X |