本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
$ u4 o4 h0 M, |! s+ C. O0 C 命令: /Info ( U2 u- r/ q4 r- {8 G
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。( w, y. k0 q# a. e* o7 O- U$ A
用法:
; d% z, v9 j5 h# Q. P2 p dnscmd ServerName /Info [Property] 7 V, a0 w; {, X6 U, Y3 S$ `# T
参数:
4 x9 T, a4 p4 m" `0 R ServerName " y2 V0 k [+ r1 u$ ~! e3 Q% a7 _
服务器名称在上一篇中已经介绍过,此处省略。
$ I( ?' _& J% P+ y; c6 K [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
6 u/ ^0 I! T! ]! A 下面是该命令使用的一个比较完整的例子:: K5 U" ?* S) W+ [
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
7 A9 @2 N5 l$ j" H1 fdnscmd 172.16.12.1 /info 只使用命令而不使用参数
6 U+ R+ p9 Y0 K7 `, k2 R! J0 I! l输出的信息:+ q8 V5 p4 G" e* c
DNS Server 172.16.12.1 Information:
/ [0 a- e: P( }8 V: F1 {) qC:\>dnscmd 172.16.12.1 /info% d4 S/ R0 b, r% o) z
Query result: 查询结果" n# k1 T* d8 s, x/ ^4 X
Server info: 服务器信息
$ a" q, V7 {4 y ptr = 00074718 端口
, t* F7 X8 c% d" A; p9 q6 b9 a server name = myserver.microsoft.com 服务器名称
3 N3 A$ Y$ X+ I' V% W) ~+ o$ ? version = C2000005 版本
/ c: F% p* q) B DS container = c DS“容器”2 C) j0 ^$ I1 v0 d0 W
Configuration: 配置信息 这些信息的含义请参考有关资料9 V8 v( S. N \- B% P; n
dwLogLevel = 00000000
B. d( m i8 J dwDebugLevel = 00000000
/ \2 s+ X/ q7 Q/ a+ O) J dwRpcProtocol = FFFFFFFF
" L8 K+ d% d3 [( m8 C. C; y dwNameCheckFlag = 00000002% h! K* J: G9 q7 u- U- s. O4 U+ p8 _, b
cAddressAnswerLimit = 0
! @, @: z+ U( S/ m6 m dwRecursionRetry = 3, F; y/ G5 R- ]1 I
dwRecursionTimeout = 15. ?, H8 m* d: d# R6 Q
dwDsPollingInterval = 300, [8 x. L7 C' _: S# d' E' F& y
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
& {% d, E% L# g* S' ^8 K4 afBootMethod = 3
7 k, p) B$ q: F( LfAdminConfigured = 1 5 e, s) ^: _& }5 Z2 t# P6 F
fAllowUpdate = 1
' m! f% h& U* ` {fDsAvailable = 1
; d/ R, N7 [3 D( `fAutoReverseZones = 1
* N3 E j2 h" J5 V( M8 d+ ^* _" yfAutoCacheUpdate = 0 9 H0 O" [, }/ z$ d9 F
fSlave = 0 % \4 B" k+ g1 h' T5 ?$ z. w1 Q7 o% M
fNoRecursion = 0
; y/ q3 U* {0 K- l* K0 I! K; HfRoundRobin = 1 c6 O) s# r: |2 p& N
fLocalNetPriority = 1
( X9 \7 w# J( y6 f! h E8 ffStrictFileParsing = 0 6 E( \) ~5 |: |! _! H
fLooseWildcarding = 0 $ l C F% {2 J
fBindSecondaries = 1
2 l g: [0 L( OfWriteAuthorityNs = 0 2 _/ ?. ~7 p; i% ^
Aging Configuration: 6 T P7 z* u$ \4 v
ScavengingInterval = 0
- \0 @# a! S/ ~# q6 I0 MDefaultAgingState = 0
2 A! X U- y# {) @3 P& xDefaultRefreshInterval = 168
. _% G. [% o- r% S3 TDefaultNoRefreshInterval = 168 2 k/ w3 I$ f- ~# `/ L% h; o; i
ServerAddresses:
$ H, c2 o- h) p" g! ^6 n Addr Count = 1" g3 t& e: x" k7 s1 ^( a+ o8 j
Addr[0] => 172.16.12.1
$ j. G% h5 Z0 b9 l* J ListenAddresses:$ u/ a0 w' c a7 {
NULL IP Array.
% [3 B: k2 H2 @! b; d! z. W Forwarders:
' b" v) q4 m' i' g, f2 N- C Addr Count = 1
9 l8 }& J* V' J3 b# B1 P$ S$ \ Addr[0] => 172.16.4.3. ~- x2 q' o/ c5 \7 S" d
forward timeout = 5
- [; H" e* |/ G8 g slave = 0
K( s+ V* m% G X' Q3 A$ QCommand completed successfully.命令顺利执行完毕
# H% X# t2 ~7 C5 i, m 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
9 b1 ]9 a4 {/ T; C0 x' C 命令:/Config, U8 }+ G7 v* C& D0 a2 x' @+ M% o
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。9 g& ~) V) u" G. l6 R, c
& v7 O- t& L$ d h 用法:. [% r# C$ f/ i! V k
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value V3 O' y0 R$ z& m5 J ~! [
参数
5 M4 g& L8 u! O0 Y) y ServerName :服务器名称,意义同上
# e* D0 z, f) q ZoneName:
9 W7 Z. c$ r; ~: q' t* _1 A 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
/ ]) l9 I# C! y- `' Y0 s Property:
% Z0 b9 q) N5 d& N 这个参数是属性。这里所说的属性有:- Z9 G6 M' u( s& E0 [7 I8 |
与服务器有关的属性:例如:3 N' n' z. H C$ k1 n0 @3 b
/EnableRegistryBoot
/ N/ h8 i t3 U/ c! j* ~+ `& E/RpcProtocol
% y- `$ h; q* a% W" Y* H x/LogLevel
6 t+ a( `+ L' i9 x) I/EventlogLevel 等等 (限于篇幅未能全部列出)
! C7 w* a( @/ ^7 c与Zone 有关的属性,例如:
! S4 @1 f) P9 n- ]; _ /SecureSecondaries
* Y/ G! \4 [/ [+ ^7 E /AllowUpdate
/ x- W# i# _. j+ J+ X* Y% {5 g' E" j /Aging
4 w i, D F' m4 p O6 a/ b3 K /RefreshInterval Value
1 O1 O5 T7 u0 ]1 L* k: x2 h8 l% o n9 Y /NoRefreshInterval Value+ C5 M& H4 t6 r; e6 [; m- Q
属性值:
: y$ I. G( y. M 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
5 B: |% k( T2 i; E; N7 F0 q1 H从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。( x0 I' \5 ^: _$ N/ ^( ?" p
命令: /Statistics$ b4 {+ M7 k! r8 t7 r h5 z
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。# G8 x% m: ~0 K# [/ E% a; H
用法:
; O: ^$ T% E( b& @4 m) z, ]) ] dnscmd ServerName /Statistics [Filter|/Clear]
) e! V1 _; I7 x( a9 z+ t' ? 参数:; U8 [2 z* U! g) V9 M9 g4 v
ServerName
5 q! I# S+ O# @; j; W服务器名称,含义同上。8 B3 K4 V3 w1 P4 W
可选参数介绍:0 d$ T! |; q* P1 g
共有两个参数,每次只能使用其中的一个。4 y! k' X# k5 t$ p8 h3 w9 I7 `
1.过滤(Filter)2 T0 I3 H: D& b1 |% _
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
+ f7 _, s( C0 @% `) K可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
( k. q0 Q. M1 B5 r# G s5 } 00000001 -- Time- Z$ z! Q. A% _+ _" L- z. ~
00000002 -- Query1 j7 B& W0 T; C7 s% j7 n
00000004 -- Query2( h3 k% x, q# P# I
00000008 -- Recurse
: f2 E' s' Y# v) n 00000010 -- Master4 o6 v/ q* h. K1 J4 E
00000020 -- Secondary) ?! C- i. u- Z* v, a+ H
00000040 -- Wins
- `( a+ z4 Z# s: h 00000100 -- Update2 z5 y) Z/ b0 l+ G4 g
00000200 -- SkwanSec
+ s6 N# t$ p) h1 E7 {0 ~3 w0 S 00000400 -- Ds3 ~( V1 C% [4 m: s; U
00010000 -- Memory
9 |2 ~. h' x9 r7 v% V 00100000 -- PacketMem% Y+ s* W; U2 F" m% g( t1 u
00040000 -- Dbase% I* f2 ]) r. k$ ^
00080000 -- Records- c0 @5 C% q- N- ~9 P0 H% ?" z
00200000 -- NbstatMem* ~; J- }& \: d( U& \
2.清除 /Clear - A: c3 l3 g$ F% r( n
这个参数用来清除统计信息。
( t9 @4 U8 @; t0 j, ~ 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。: Q, c& a# s" j; g% q
1 q( L1 c! I% u: r# e
6 t/ n" g; \+ m# S- M y
# K. H) L l* U+ { |