本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。8 ^$ n. U( a8 v5 `3 ]
命令: /Info
, _9 ?6 h8 e: k) ^4 t2 A 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
+ U0 `! a8 t5 ?" H 用法:7 j0 j$ J& K5 |. n* E+ r+ {4 Z
dnscmd ServerName /Info [Property]
" `# f( { W: y. e% T 参数:
1 L( e/ }3 E+ O, F6 a. H& G ServerName ) ~- s- f; B* i; p3 }
服务器名称在上一篇中已经介绍过,此处省略。 4 ^1 ^& ?) I2 t6 {9 J# B8 v! ] v
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
% g; {1 Q# C4 x7 ?/ e6 u 下面是该命令使用的一个比较完整的例子:
/ j8 l m6 s5 A 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:0 n o' t E4 V. N4 ]
dnscmd 172.16.12.1 /info 只使用命令而不使用参数$ V- J" {4 ~# l- g; v6 n/ c
输出的信息:
! e, f! g4 m+ |0 N7 mDNS Server 172.16.12.1 Information:6 S9 O& G) {+ ~" [
C:\>dnscmd 172.16.12.1 /info2 S$ p: Y; M6 X7 ~7 C0 u# u
Query result: 查询结果
& `: g+ M0 D" t& X1 l" v; V9 CServer info: 服务器信息
5 ~$ \* ^% G* b* a ptr = 00074718 端口* Z+ j) D0 _1 }8 |# W
server name = myserver.microsoft.com 服务器名称
4 b3 P3 P4 k) K version = C2000005 版本
6 c2 b2 F4 b9 }# T, Q DS container = c DS“容器”
0 [0 ?0 q0 z& C0 ` Configuration: 配置信息 这些信息的含义请参考有关资料
5 r! s/ b6 r' ?% Y dwLogLevel = 00000000& [; U+ u+ ^8 T* S( H; |' n
dwDebugLevel = 00000000( c7 O3 j: V! C8 R
dwRpcProtocol = FFFFFFFF
( j/ ?- r& d4 \* Q- p) h3 n1 b dwNameCheckFlag = 00000002
/ Q( O' X9 ^4 S8 p( Z7 I. V1 i4 i cAddressAnswerLimit = 0
1 s! P. T' g5 O [7 E& m dwRecursionRetry = 3
) N F% G! L( c% V& \9 S& A dwRecursionTimeout = 15* u& l0 u! ?) _- i! J, l" I3 e0 u
dwDsPollingInterval = 300
+ B4 X; x# S8 y: Z4 R Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料7 ?. X' C1 S2 b, U. v8 G6 {
fBootMethod = 3
8 ?: T0 o. U, C( N" JfAdminConfigured = 1
, p- v1 \" N9 j& t, lfAllowUpdate = 1
* y8 G7 |% j7 z1 P( kfDsAvailable = 1 3 s' r3 R, ~8 l, H! C
fAutoReverseZones = 1
) w; \# |4 C4 g9 X! b; r6 ?fAutoCacheUpdate = 0 : k/ j. ^+ T! Q5 |& ]8 `9 u: f. e
fSlave = 0 , K; o3 J( y' Q5 a
fNoRecursion = 0 9 { `* ^5 J8 w3 Z) U) v
fRoundRobin = 1
& s' j# g! a$ Y( V- p3 ~fLocalNetPriority = 1
! j: |6 K0 o% t X$ B% ufStrictFileParsing = 0 ; I+ p$ O% q+ W/ r+ d( h
fLooseWildcarding = 0
) o" O E# ^+ Z ffBindSecondaries = 1
& ~; g% B& Q# LfWriteAuthorityNs = 0
- p: H* w, h3 s ^9 _( V+ G1 PAging Configuration:
) T$ h+ o- c! P1 a. I% GScavengingInterval = 0 . R3 V' z# R. U% o& c; g8 u" ~
DefaultAgingState = 0 ; N9 E" d! r7 p! u8 t! P
DefaultRefreshInterval = 168
, D/ o+ H2 @$ }, s' bDefaultNoRefreshInterval = 168 ( X/ k9 o' j9 Z7 b& B
ServerAddresses:
( x( d* G& H1 ?8 @ Addr Count = 1
5 }/ W% f3 [ r( B2 m Addr[0] => 172.16.12.1- G* D2 ~+ z5 l* M1 s; }
ListenAddresses:
6 d1 @! {) h! T8 r, A1 Q NULL IP Array.* `* m" n/ [8 m2 S' g
Forwarders:% s0 o1 e4 Z1 n3 Y0 y$ e
Addr Count = 1
: A0 \4 g; Q' \* o0 u! u Addr[0] => 172.16.4.3
' r; c! `$ `* X. C* C forward timeout = 5
6 D1 X8 W8 D& d1 }9 e5 \ slave = 0
, L& H4 [0 `+ [/ i0 bCommand completed successfully.命令顺利执行完毕 ' Y `% Q C/ n+ a
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 8 a" s- Z9 E+ q# F) Q& P. H
命令:/Config
$ N D9 i' Z2 t 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。' ? B+ E( [5 Q+ L
) ^- N8 z0 c# S, H3 a
用法:& j3 V0 m4 D- N8 ^
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value! P, g& E9 W( h2 x" }4 b
参数: {9 v6 o' `1 a- W% y$ q7 G
ServerName :服务器名称,意义同上
* s* S/ z9 f, C% L: h ZoneName:5 c. M9 S! R; G
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 $ e8 b% n4 s2 i6 S3 P
Property: ( f8 J* g% u( N& n/ A9 `" q5 v
这个参数是属性。这里所说的属性有:1 r8 V' `! C. Z( y9 u
与服务器有关的属性:例如:
1 K% r+ C0 e6 L! l4 S. \: t* [- }/EnableRegistryBoot
. {: ?0 I& y L& U4 p( u. l8 |/RpcProtocol' l2 ^3 ~9 Z9 ~$ K" K
/LogLevel6 G( M. p' I, r5 n$ h0 n7 I. f* P
/EventlogLevel 等等 (限于篇幅未能全部列出)7 Z3 p0 r, I- n M4 D
与Zone 有关的属性,例如:
5 t% e1 v) \: V6 }% D, B% G) n /SecureSecondaries
d4 o, I$ R9 Z! m8 w. W4 T /AllowUpdate+ s- T7 Y2 H, Y. a3 N5 q7 r; K! c
/Aging
% f0 d5 }% Y9 q* Q$ {" d /RefreshInterval Value
+ ~0 V. ?, a4 `7 f: ~3 L /NoRefreshInterval Value4 Q5 x. l( ~* C! M; `
属性值:
: y" X- m( p' [( k Q9 k 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
. J4 s v* a4 p8 x6 A% u* Z# G0 `从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
" }* X* L R0 E 命令: /Statistics
/ ]2 O! `$ y7 K7 }# U 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
5 D7 W9 o v, K9 | 用法:; \! `4 |4 Z$ e* T4 u8 E i
dnscmd ServerName /Statistics [Filter|/Clear]" b4 v2 {$ N( h7 t
参数:
" b3 z1 w( p# H2 ?2 AServerName
: D( }7 Y: t- B服务器名称,含义同上。
7 c; x$ \! z# B2 Y可选参数介绍:8 W2 e. Z T- P3 c
共有两个参数,每次只能使用其中的一个。
* f4 n9 C6 O) [6 W3 j 1.过滤(Filter)" i# o9 A7 s7 I5 r6 Q4 W4 L
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。& p9 v& A1 j) v9 p* q4 r# x8 j
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: # [3 C6 b: G; p# d+ z5 M
00000001 -- Time" q6 u! L- [2 i
00000002 -- Query. |; F P% _1 {% u6 v, @
00000004 -- Query25 e/ N$ T& E" p: H% z7 W
00000008 -- Recurse
# m' a; n; b; L6 x$ u1 J 00000010 -- Master
- S$ _, T! X' y0 ] 00000020 -- Secondary0 s2 p0 f- I* W8 m
00000040 -- Wins
* j7 t$ Y; T3 S- T! P7 I 00000100 -- Update& H) s) [* W8 |' ~5 }
00000200 -- SkwanSec( K# {) ^) ^! }
00000400 -- Ds, _3 h0 ^& B& x4 Q
00010000 -- Memory# e8 N" t# l9 t3 f
00100000 -- PacketMem
! O3 y% y' h0 Z. ^( O8 y) T 00040000 -- Dbase
: ~: s6 k' l3 _ 00080000 -- Records) S0 G4 s% |6 J. v( K( k
00200000 -- NbstatMem
5 u/ ^; C. c% P$ | 2.清除 /Clear
& @: b8 H; m4 U 这个参数用来清除统计信息。: T: d* P& a' n5 c
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。6 f# k8 H/ R. T P
- i/ R- @7 j2 K3 C# [
2 N+ S$ q: P; ?2 O/ t& s- |8 P4 c. ~0 F4 X$ |; X
|