本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
( R" f3 H# |* J$ {1 C$ J, R G 命令: /Info
" t$ i5 T5 [9 b 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。7 s# g( z* t5 T+ m
用法:
* ~; z6 I& Q/ W( ]8 L' G dnscmd ServerName /Info [Property]
. r9 s% M0 i N 参数:# V. I: \7 ?# J ?" o2 O
ServerName
! P9 H ?5 Q; k( M* U4 A$ c 服务器名称在上一篇中已经介绍过,此处省略。
4 y! o& @6 a& \! @8 { [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。$ g2 I# h, [* C9 i7 r, k* x" n
下面是该命令使用的一个比较完整的例子:
6 j0 E2 f$ b* Y7 |( f% L0 R 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:, H7 N$ Q) X1 `1 r3 l
dnscmd 172.16.12.1 /info 只使用命令而不使用参数2 ] z( k# [4 u8 M- y R* p6 V
输出的信息:3 @3 ?9 O7 ?% X A; Q E
DNS Server 172.16.12.1 Information:
( C# a n! p$ `0 ?1 nC:\>dnscmd 172.16.12.1 /info# S/ {# d1 `2 P, M6 A- t* n: l3 A
Query result: 查询结果
0 z( \2 H$ m" \ Z: }# Z! v; p5 hServer info: 服务器信息" j. l! u) z. p+ w5 v
ptr = 00074718 端口/ M7 l: L/ ~/ B, d7 Y, J9 M
server name = myserver.microsoft.com 服务器名称
( q, T$ Y+ A4 t6 S version = C2000005 版本
. y1 T9 H$ Z1 r8 S" ]% K DS container = c DS“容器”
, `! u- E5 Q1 d" r# k8 }) R9 I' \ Configuration: 配置信息 这些信息的含义请参考有关资料
& \2 y1 F* y: B& S1 L dwLogLevel = 00000000 Q% n; w2 C; }0 `/ S8 g
dwDebugLevel = 00000000" p. Q* `/ e* H( Z# D6 z' i/ c! a
dwRpcProtocol = FFFFFFFF* R7 c* L, V* L0 W6 J+ n
dwNameCheckFlag = 00000002
0 c4 ]' {" G. B* h cAddressAnswerLimit = 0
7 f$ P G; P! I9 O7 G" I2 Y dwRecursionRetry = 3
: p& p* z5 \# R$ q! [ dwRecursionTimeout = 158 R, ?$ e# q/ i
dwDsPollingInterval = 300
& \7 A2 a h7 ^! h% N+ V Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
b$ h6 f( `* JfBootMethod = 3
* w7 J% i& Y/ O) f6 A* j8 CfAdminConfigured = 1 " i/ t+ h# O$ {0 s9 y, R8 ]
fAllowUpdate = 1
0 V, t3 `0 h% A% C {' DfDsAvailable = 1
! a, _ h5 r. s; n8 F. j, l m9 F- jfAutoReverseZones = 1 0 A0 d" q. L% x/ c) X
fAutoCacheUpdate = 0 5 h5 H! _. D. M+ m
fSlave = 0
$ M6 Q0 u; s/ ~2 RfNoRecursion = 0
2 K, z9 N9 ^. D' XfRoundRobin = 1
6 l9 e5 b/ J8 gfLocalNetPriority = 1
1 w5 [6 Z+ k1 [ l" ^0 ?' gfStrictFileParsing = 0 $ [* R1 A H1 Q9 Q. P; {
fLooseWildcarding = 0
' D: M6 C$ ]1 X1 m( HfBindSecondaries = 1
4 T) `9 ~" K+ v1 K$ d0 c, pfWriteAuthorityNs = 0
# D5 t. s6 \1 _Aging Configuration: ! P2 V' b+ s& |7 }
ScavengingInterval = 0
* W0 ?7 w k: ?) X6 N B/ e) f' ~DefaultAgingState = 0 . Z: `) t2 @6 |$ L' Q, C Z' g
DefaultRefreshInterval = 168
$ r0 J. h/ R! H. O4 g' S% |DefaultNoRefreshInterval = 168 % d: r7 S! ~0 a6 E) t* i' U
ServerAddresses:
) i3 ?$ C* N W1 U) E6 S Addr Count = 1
0 @; W+ Z, t! G% b8 ~ Addr[0] => 172.16.12.1! ~; b- E! {" j
ListenAddresses:3 P }2 ~# R2 U- ~
NULL IP Array.
+ m6 d N; F! k! [* T Forwarders:
1 J8 L0 L4 U9 @$ s Addr Count = 1
5 Y6 D8 Z' m3 L: i Addr[0] => 172.16.4.32 Q1 o/ {4 `& Z+ [! Y3 k
forward timeout = 5! P0 C- c# y8 C' h' `4 m
slave = 0
. K! O; V; Z( m+ ICommand completed successfully.命令顺利执行完毕 ) ^, Z/ \* S" O, ^
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 4 ]1 y" F) o' s6 y9 k$ W
命令:/Config ~5 o, @& P5 n) H2 s
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
& L, d; l% J$ G. _) U6 o0 R+ Z2 g5 X4 K- X( d O Z/ j
用法:
! I& f) K8 E! n% U f" w; [# R dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
+ e w2 q5 m) V' K. U! c3 w+ } 参数1 |" n# m- i! G& J) J, A
ServerName :服务器名称,意义同上 1 Q2 b4 Q# w0 G8 \0 x8 v
ZoneName:
2 d6 u: \: w- l( R" I$ @4 w 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
) ]: V& N! @( W% K+ ?+ E Property: 2 t+ a+ d& D( p* v4 a) v" g
这个参数是属性。这里所说的属性有:2 e3 e2 |$ j4 N- U* N) L- i5 O
与服务器有关的属性:例如:
0 Z& v# \3 S; l6 R; J+ V/EnableRegistryBoot9 L# [3 ]7 u& E k, Z" J: r' [
/RpcProtocol$ ^ `0 C# Q1 F7 z5 @2 Z3 ]- Y
/LogLevel
- E, y, A9 g+ ?0 m* {7 D. n/EventlogLevel 等等 (限于篇幅未能全部列出)
# V, y- p. }2 t: X0 Z# H与Zone 有关的属性,例如:$ U. }. h7 l1 m$ ~
/SecureSecondaries" {7 {% x, K, i# n, X
/AllowUpdate' |6 e! @$ Z: T+ ]- {
/Aging
% ?- |3 K2 T8 N7 G% f9 w /RefreshInterval Value
' \1 E+ k, m& J2 m6 j /NoRefreshInterval Value! m5 W; R O5 M, B- \8 }0 r& J
属性值:
! N0 E9 j3 e0 Z0 x 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。3 _1 E% |1 F/ \
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。% a7 b0 o9 N+ g c
命令: /Statistics
4 X$ r: |5 i s0 g' h# j 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
* w; \1 d# E) Y. K 用法:
& Q D! ` f! G dnscmd ServerName /Statistics [Filter|/Clear]7 o8 D2 A( J D" z
参数:; G/ {. ~" P! K. P( ~
ServerName
8 K* k; |3 |% a$ L% s; M0 e! O7 o( S服务器名称,含义同上。9 [0 z$ S7 h4 i7 b
可选参数介绍:
: i; _( B! @ g共有两个参数,每次只能使用其中的一个。7 u* }# i4 D. q/ ^# g' ^. |! Z: o
1.过滤(Filter)0 B- K6 l" L2 n0 F! T1 |
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
# Q! l" X' U8 r, t) Y, Q可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: $ c/ g2 T$ _) _: f* G' d
00000001 -- Time
/ @4 T+ ?% j6 d/ E E8 b 00000002 -- Query
6 o9 p! s4 e# a5 R3 z( h: V% b 00000004 -- Query29 A4 D3 [8 D- g* c: i
00000008 -- Recurse
3 Q1 w, h- m! q( L) ? 00000010 -- Master: o- u1 M$ o9 l1 p! |* ?
00000020 -- Secondary- e( E) f" h2 k. H! D% g
00000040 -- Wins# q5 |& x9 f L" \( y2 l
00000100 -- Update
9 `" s( a- G) I+ _/ c1 N9 l* g 00000200 -- SkwanSec
/ A6 H3 G9 k1 ?, @& ~# }; g 00000400 -- Ds& H8 w! {* V' i$ d+ c# P
00010000 -- Memory
g; e- M# m* v 00100000 -- PacketMem; j4 G) R$ e$ u# l2 v5 i' b
00040000 -- Dbase$ Q& Q( y5 m4 l3 H9 _7 h& i& J
00080000 -- Records
8 [8 k5 c# d- ^. Q% Q 00200000 -- NbstatMem; k2 I, o' A2 |% o/ w
2.清除 /Clear & r* x% V& t2 x
这个参数用来清除统计信息。1 T% y2 T8 ~- X. x U+ C
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
6 L+ h4 T# V# k1 T$ b6 v& x& d8 t! Y& A e( H* x. h0 X" p, c
0 c( H/ A/ g3 a% f
+ H) l2 s& P7 k; N7 a |