本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
, ^ o; E/ m# R9 p6 J/ ]8 R8 U 命令: /Info ( e- s( N/ n# b+ z, N7 a! E
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。) P/ z& k) p7 X$ r
用法:
g5 X0 g7 h. N2 p& Q dnscmd ServerName /Info [Property]
% X( M' g; i3 ~9 ~2 P3 [ 参数:
3 B% K: J, L! d5 V- ~3 i |2 v ServerName " m) }: F/ i: S o; k1 n9 y
服务器名称在上一篇中已经介绍过,此处省略。 " i4 W) T s1 M% J
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
; n, o0 _! W2 l6 j! i' I 下面是该命令使用的一个比较完整的例子:. m9 J0 J$ {9 v) u6 J, T& f
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:4 M8 W' [5 R) R, T( q( W* k& l4 F
dnscmd 172.16.12.1 /info 只使用命令而不使用参数9 N8 M$ Q$ b) B
输出的信息:! ]( v& E$ |+ q) x( R- D8 ?' P! D
DNS Server 172.16.12.1 Information:, z# d* }9 E6 P( ]; B- v
C:\>dnscmd 172.16.12.1 /info
& H* u+ J. w( q# ^6 V/ X' IQuery result: 查询结果
% K! b: b* P7 MServer info: 服务器信息
2 h1 {9 F4 W0 {# D& x, G8 d* B7 ] ptr = 00074718 端口
7 P7 ?. O& \0 T: d0 U( F# j6 e4 F server name = myserver.microsoft.com 服务器名称& v! G& f5 ? }. w5 c" \
version = C2000005 版本
( c' ^# i" X5 o4 v4 m: z4 R DS container = c DS“容器”
; F2 i/ ]8 u9 u( V) [ Configuration: 配置信息 这些信息的含义请参考有关资料
4 y) ~- n: |7 ~1 A dwLogLevel = 00000000
7 H' w/ I% L J$ b# F- @ ~ N dwDebugLevel = 00000000
3 q1 |/ t$ q5 c' D dwRpcProtocol = FFFFFFFF9 t% [* x: D& K0 P% O: U0 t
dwNameCheckFlag = 00000002: o' z1 p% G5 y: D
cAddressAnswerLimit = 04 Y! Q- L1 w) X$ V, j2 _- ^' ~
dwRecursionRetry = 3. L) _; y E. t" r9 T6 ]% l3 C
dwRecursionTimeout = 150 ]( F6 g0 w7 ^' n% {% E6 d
dwDsPollingInterval = 300
4 \9 A3 U: U2 _ Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
' n# p% h3 h" W% M$ S2 ifBootMethod = 3 5 b5 W& S, A# ]. ^& l
fAdminConfigured = 1 * _7 e' g+ I' k% a- F6 t4 _
fAllowUpdate = 1 ' G3 O* q2 h, Y: ]9 M
fDsAvailable = 1 , I7 o8 n& S8 Q
fAutoReverseZones = 1
# R7 P8 K$ {: a/ KfAutoCacheUpdate = 0
: W/ A( L7 t v- U# z: g9 Q) b9 TfSlave = 0
9 w+ [) y' Y* pfNoRecursion = 0
% I/ r1 n5 d7 {, h r# bfRoundRobin = 1 0 H0 w2 R9 T2 o' v1 l" E; C( |9 j
fLocalNetPriority = 1
+ ]6 i: F0 R+ X$ D% ffStrictFileParsing = 0
8 T R8 E$ `& {$ ufLooseWildcarding = 0
4 W! U! A) B/ s- efBindSecondaries = 1
4 l4 R" K- G* D7 O' `4 t# HfWriteAuthorityNs = 0
% U. @8 q& `+ ?" U5 S. V/ wAging Configuration:
! ^1 K1 Z1 q7 r/ h- g' ^ScavengingInterval = 0
3 D! D5 {1 ?. o' |DefaultAgingState = 0
5 Z% Y9 M! N8 z; I; e6 P3 }3 @DefaultRefreshInterval = 168 $ |" f/ S# O+ } R
DefaultNoRefreshInterval = 168
' r$ \2 t; I$ A ServerAddresses:
5 P( w+ |& }% J7 `4 D+ g Addr Count = 11 V5 n/ k- O5 g4 Y4 @; k
Addr[0] => 172.16.12.11 T( y( A( a5 M! G3 W7 [
ListenAddresses:
# G0 ?) l. |" Y& |) p% v; T! [ NULL IP Array.. Q, p3 h/ [6 V6 u& x$ \* K5 Q( p
Forwarders:
4 E* s4 h k* n! | Addr Count = 1
4 x" k- ^: D0 n/ K Addr[0] => 172.16.4.3& P8 o4 u. @$ C7 G/ T8 {. p! e
forward timeout = 5
: A$ N5 n: F4 V' Y0 T3 }& @ slave = 0 [1 r) l7 Z4 R
Command completed successfully.命令顺利执行完毕 4 p# P$ b+ d: S a
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
, M) O0 \7 L o( s$ @% Q; n 命令:/Config
5 N' [4 T7 |. `0 @' j( ?& P 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。8 p9 o; L; A- V* m
! @. {$ c+ ]0 V- O; l- K. P 用法:9 j- Y; i3 |! i7 w! V
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
+ v" \- M0 y( u& z! G 参数1 E2 V- b+ D/ Z7 h0 p ], n
ServerName :服务器名称,意义同上
( R& v. r" q' t. `2 v( w; q ZoneName:
7 N" c1 h$ O2 l% ~ 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 ' h" Y1 B* ~1 T3 v0 ^7 p! ]4 H
Property: * R9 o9 B* {: B. _3 Y
这个参数是属性。这里所说的属性有:3 U u& i4 u0 }! m# ?; t% q# v% M
与服务器有关的属性:例如:
9 U) N, y$ {0 R* `( u/EnableRegistryBoot
* y3 M! m$ W2 m2 b( A- n/RpcProtocol! [$ t! X4 Q* z
/LogLevel
( }+ {8 _; Z" J# p$ s" j b/EventlogLevel 等等 (限于篇幅未能全部列出)0 z$ W$ r+ _2 m$ O2 X9 l
与Zone 有关的属性,例如:1 C& X$ K; z0 }
/SecureSecondaries
; v4 Q; q0 U/ }! D6 | /AllowUpdate8 _+ f# v6 l* z4 |3 ]1 G/ q5 e
/Aging
% ^: ~' Z/ Y3 o I6 c6 ^/ U% L/ t /RefreshInterval Value
; x X" m" I; I6 O+ y /NoRefreshInterval Value0 Q8 k& m5 e" {6 y
属性值:8 }9 ~4 U& d1 N# o K% {0 f
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
L* G2 d1 N: H+ N- E从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。! z0 c. ]6 k1 \2 Z4 @) W% O9 l
命令: /Statistics/ {: x! c+ d7 q" Z
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
+ M* I- z9 M8 i- O9 w 用法:% k' R8 L# Z- T( i1 s
dnscmd ServerName /Statistics [Filter|/Clear]2 h7 y: J# D* i
参数:
( z' E0 f' C! ~& Y7 gServerName " N: Z' M+ U3 N. b3 Q# |4 k$ t
服务器名称,含义同上。
3 ~& E, y3 q, y0 `可选参数介绍:
( N: h3 I0 t( c6 h4 z( B共有两个参数,每次只能使用其中的一个。) K: y/ l0 n9 D) X9 V
1.过滤(Filter)- d' m: C+ q+ A' P8 q
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
5 U6 n; `$ V; b) q. X可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: + L/ ?2 W* ^( Z$ @5 @9 p
00000001 -- Time
7 \: Y' {7 w: U 00000002 -- Query+ |3 V( G: ?, |1 k' ?2 ^
00000004 -- Query27 C) H& r- f v3 E; d7 |
00000008 -- Recurse
# i0 _- }9 e" ^/ | 00000010 -- Master7 Q }& n$ x/ D2 J# A; S0 d
00000020 -- Secondary
& A, O c* c; m4 |2 |! V6 C 00000040 -- Wins% i a, D( s' ?' y! [
00000100 -- Update3 s7 C" F% O% |. ]$ B0 ^0 T. @
00000200 -- SkwanSec
; L1 ~; |: l) V 00000400 -- Ds- M( d1 N0 ^/ @% h% E4 ]
00010000 -- Memory1 y( n6 }) x& D/ x& `0 m9 a: A' S
00100000 -- PacketMem
! B3 S+ r. ]' m* C/ @ 00040000 -- Dbase
$ C* R3 P# y/ V8 k J: O 00080000 -- Records
) O* g9 n, @3 P( g# x0 `* @ 00200000 -- NbstatMem
# h" P2 K* l+ m' q3 P* Y, e 2.清除 /Clear
$ A2 {% Z% C3 z% |" _ 这个参数用来清除统计信息。) T- z4 i7 W/ m& y6 F* Q4 o) x. z7 }
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。9 l- v! r: K+ e. {
; R$ M" j, v }* B1 j! ^$ |* s
; Y- @3 {1 A- W/ l
9 Z9 ?: X6 o- t |