本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
: b2 ~3 l; c7 w( {; Y 命令: /Info
, x8 q$ R! S- m p9 h" L1 C: M 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
$ E8 B: u2 C. Y J4 L6 q* c, W# S8 d( s( u 用法:$ m1 q. `1 c0 b
dnscmd ServerName /Info [Property] & [* J) _/ e# i
参数:
- R" }0 F, x: h0 v8 v$ ^ ServerName ) C3 U7 s8 ^8 w4 Y
服务器名称在上一篇中已经介绍过,此处省略。
/ ], T7 y% W: ~ n6 E [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。+ e7 {+ P2 h" }/ ]2 d0 h
下面是该命令使用的一个比较完整的例子:2 h, b2 | n2 J
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
* }6 g1 J6 _7 s0 i0 Zdnscmd 172.16.12.1 /info 只使用命令而不使用参数
$ g5 b# h4 d3 {2 q h2 d输出的信息:
3 v. a" e! B8 sDNS Server 172.16.12.1 Information:+ x* o1 Q/ r7 |
C:\>dnscmd 172.16.12.1 /info
, O7 S0 `( u& @0 j5 IQuery result: 查询结果
% l' P5 `1 b/ T& P. E5 iServer info: 服务器信息2 G' W. _0 B4 T" Z# F
ptr = 00074718 端口- w" G7 p% M4 B! _
server name = myserver.microsoft.com 服务器名称
7 n" R' x+ J! y, d" Q: B version = C2000005 版本. ]5 ?8 V+ l7 h
DS container = c DS“容器”
& [$ Q& H$ J' `( ? Configuration: 配置信息 这些信息的含义请参考有关资料( Y1 M" M8 ^8 F& x
dwLogLevel = 00000000# ]3 ]. D& S+ k" s+ n m. b! c
dwDebugLevel = 00000000
6 {1 ^* A, N; c5 z dwRpcProtocol = FFFFFFFF% ^* d3 K, [! e' \9 P
dwNameCheckFlag = 00000002+ w" I, ^9 {4 e1 i
cAddressAnswerLimit = 0
+ L7 ]8 h) K2 K: c dwRecursionRetry = 3( `) Q) i+ u8 Z( f
dwRecursionTimeout = 15
$ |& K: |: W Y: `* g& F% P& p7 R dwDsPollingInterval = 3009 I% D% m& x1 q: ?, k2 |9 g' w. O
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料" _$ r. W2 w% h2 G' w5 Z
fBootMethod = 3 z" Y+ j: V4 J1 ^2 d
fAdminConfigured = 1
; r2 N/ M1 _+ v' CfAllowUpdate = 1
% Y) G: m( T+ Y, G1 efDsAvailable = 1 / a/ g, ?6 v/ k# ?! U8 C
fAutoReverseZones = 1
4 s3 a V( z( `# bfAutoCacheUpdate = 0 ' Q$ U8 q5 h% u9 I
fSlave = 0
* t# Y* _1 s' w6 M3 p N1 ?8 FfNoRecursion = 0
: d# E- J% ?3 N# ifRoundRobin = 1
0 B9 Q! Y+ s1 @% X; Q& }/ mfLocalNetPriority = 1
5 V# ^ ]* C/ O6 O5 U! dfStrictFileParsing = 0 3 q( X% B7 w2 C' {: X& M/ _
fLooseWildcarding = 0 D' Y0 ]* U7 B* q8 z1 g# A+ G
fBindSecondaries = 1
" E) Z" T1 W. h. Z, bfWriteAuthorityNs = 0 9 l' j6 P9 z$ \9 |4 f* N. W# ^7 A
Aging Configuration:
H& U/ y7 S# a/ n. x( |! y: J# { ~ScavengingInterval = 0 & D* Q; u9 Q0 u. a: k
DefaultAgingState = 0
' y C" B) G' ?, N( X8 ?" ?7 xDefaultRefreshInterval = 168
2 q" g. y1 c+ Y* v- p. |2 \DefaultNoRefreshInterval = 168
5 \8 } T5 D) W) D ServerAddresses: 4 T* b2 W: `% B* `( ~2 J. P
Addr Count = 15 s& b7 z+ G. [% O3 p5 A+ R% B
Addr[0] => 172.16.12.1
L+ Y0 w" v6 i* ^/ U ListenAddresses:
0 n( {# T2 l" k$ R NULL IP Array.4 q! \6 d. K7 g3 ]( K7 R# U
Forwarders:1 P+ Q1 n" G Z$ }5 u9 O1 Y
Addr Count = 11 X' ?& e, G! r* V' P
Addr[0] => 172.16.4.3
% X$ b( v) N8 T/ h forward timeout = 5
' r% K; u/ p0 z/ u1 V/ S slave = 0/ K3 c: Q. I. G1 B
Command completed successfully.命令顺利执行完毕 * A3 a6 ^5 O# ~
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
o( z; `) Z6 p& R# C+ G0 V5 z 命令:/Config. k% Q; \2 e+ |
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。- z" a. _( I4 o* e+ f$ p
# p: o2 H" u( U' f" W- u# X3 t
用法:
' a8 {6 w( S$ l( X dnscmd ServerName /Config [ZoneName |..AllZones] Property Value4 C4 U, F0 `. d8 x' |& m& K1 k. w
参数
' \2 G" _) \. o2 \# n. h3 r* P ServerName :服务器名称,意义同上 ( U9 g! ^/ {# s9 g; {
ZoneName:+ C( r# y3 G9 w& [
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 " H4 v1 \ E$ l1 y. G C
Property: ! } F, |$ b5 B
这个参数是属性。这里所说的属性有:, d9 m! L+ `) r; s2 J
与服务器有关的属性:例如:& w6 u; |7 ~- v6 x
/EnableRegistryBoot7 {- _* `/ T8 {3 x7 J E0 d
/RpcProtocol6 P, F6 M M$ v3 D/ O; p1 ]9 S1 P
/LogLevel4 D$ e) H* P0 U% ^
/EventlogLevel 等等 (限于篇幅未能全部列出)$ I' T# k4 P8 L0 X; |
与Zone 有关的属性,例如:' }& N, ]: w# ^( O# F
/SecureSecondaries
+ C1 L1 r/ s) ?5 R% c) t /AllowUpdate
2 }+ N2 K% ]1 W5 E6 o8 r /Aging
p2 y% z/ R. R' V3 M5 ]# C /RefreshInterval Value( }$ ?8 f! e0 f$ r& x! |( @: }. ]
/NoRefreshInterval Value9 x6 h Y! e2 j# |7 f( M' F# E
属性值:
5 X8 e5 d7 y* U, [8 `- o8 g 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。! ~2 H2 ^$ H& n% G+ E5 Q
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
2 j! X3 X4 W1 Y } 命令: /Statistics% o4 P; s H5 n- `- }
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
* C1 ^7 s( s3 T- P/ { 用法:
) G8 m' H) T! e* n5 W dnscmd ServerName /Statistics [Filter|/Clear]% q" }" m5 W9 K. \: V5 p2 Z, V
参数:
: z% H. q) m. h/ B6 o6 }ServerName
U5 c! Q: B. X2 K/ d6 C& Y服务器名称,含义同上。
& \8 @2 }4 P! v" w8 q" h) B可选参数介绍:
! z1 y9 g+ {/ c- i+ b共有两个参数,每次只能使用其中的一个。5 D- z8 f4 W$ C5 _
1.过滤(Filter)
3 M' B( C* W$ n- g: V 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
" s6 |# g! }6 ?# ?可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
( O* j: L! y) e7 U" K 00000001 -- Time
; S$ S! O0 ^$ W2 E 00000002 -- Query; V" q6 I! t8 u8 _8 t' y8 K0 w
00000004 -- Query2
' ~! V0 @6 M9 w F' \7 C0 z 00000008 -- Recurse
. a$ }. P" m6 l 00000010 -- Master% o/ J# S4 b7 t W: q9 ?. P1 m
00000020 -- Secondary Y5 }" Q5 M4 C- y
00000040 -- Wins
( i1 o0 B# e+ s; U9 O2 S0 A 00000100 -- Update# _' E5 U/ Y( c& L. w9 ? _
00000200 -- SkwanSec- d* E8 H/ n7 {4 i$ x
00000400 -- Ds
% {4 _1 X! B1 U" G% e 00010000 -- Memory
% H1 T) D( ^4 ]8 J' g# Q' Q, q9 a 00100000 -- PacketMem
7 G* u6 l% a* ?" ] 00040000 -- Dbase
' h! N% b( C7 V6 [8 a5 ] 00080000 -- Records
. x$ z0 V9 y- H1 Z8 T 00200000 -- NbstatMem
# U+ J! Q$ ?" L 2.清除 /Clear
: V3 W6 s/ v/ v8 x% m; x 这个参数用来清除统计信息。$ M8 q3 W9 p( S6 H) ]% h
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
3 ~& s- `/ I+ a6 ]# E- V: q E+ ~. V! E. ~6 S3 D' `& k( S
# ^+ r! Y& t7 S
2 U! p# K c4 H5 t3 t7 n$ l |