本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
! t5 Z9 [$ C* s( f% Q6 g. [* V 命令: /Info
, d5 R: p% Q) v v% D% v 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。0 \9 t; z" F" s8 o
用法:
$ {1 F/ a( [! p2 R" n4 N dnscmd ServerName /Info [Property] 5 ?; @5 V. g9 t* c% f ^
参数:
7 l4 ?! ]. ?, F% G4 |9 M ServerName
& M6 r, O2 _" T# W, H 服务器名称在上一篇中已经介绍过,此处省略。
' C% [8 j0 }$ T [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。( P/ A7 {- p) Z( _# l7 A; {) X
下面是该命令使用的一个比较完整的例子:) n" d# [! j: x; R2 h4 Q! o
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:. c. ]7 `! r/ [6 ]3 P9 F2 I
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
" h) X6 W8 {, W9 {, _输出的信息:. ]7 h0 S ~1 B1 @% z: U/ J
DNS Server 172.16.12.1 Information:
! O5 ?. m: Q% A( V+ TC:\>dnscmd 172.16.12.1 /info$ r' ~0 V* y; ]' K+ A {
Query result: 查询结果
2 [# ]) o$ Q+ t6 g8 }3 N! pServer info: 服务器信息, p: u" v$ q0 o- h4 l* n6 l" s
ptr = 00074718 端口
& x4 k& G; w5 `5 t4 W- B( C' _ server name = myserver.microsoft.com 服务器名称
: \; f0 B' x4 j o, r' a% o7 x version = C2000005 版本
; y$ y4 H& k P DS container = c DS“容器”1 |& L+ t- n/ r; M6 q% S" [
Configuration: 配置信息 这些信息的含义请参考有关资料* H* P0 s$ I* n9 u, O
dwLogLevel = 00000000
) I! o( \% L2 F dwDebugLevel = 00000000
* V" V+ `1 b1 T7 D dwRpcProtocol = FFFFFFFF
* T! I Z0 }$ s dwNameCheckFlag = 00000002
: b- o: ?. j9 T. }) E4 S cAddressAnswerLimit = 0
- ~# ~0 l/ k9 u4 Q. R1 | dwRecursionRetry = 3
; u8 w8 @/ f. r) T( \; V dwRecursionTimeout = 150 k, X: Y/ B, p* w2 N8 S" n
dwDsPollingInterval = 3006 Q9 r2 i. k) |9 R
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料$ k' Y. Y& y; D O+ n
fBootMethod = 3
/ O' t- d O* |* G% v( A9 BfAdminConfigured = 1 * ^$ I7 [$ T4 M
fAllowUpdate = 1
, B4 g: a& |! P- s8 K ?9 pfDsAvailable = 1
" E0 S5 P9 M$ G1 n9 ~2 pfAutoReverseZones = 1
6 d1 K1 a4 M/ BfAutoCacheUpdate = 0 - |5 `! r, [# ^5 v
fSlave = 0 " a6 y: T% \ E5 [$ C' _3 k, h2 {
fNoRecursion = 0
$ B' `) d: C& j$ m5 YfRoundRobin = 1 ' \8 z/ v. P4 @ h+ d) P. E0 w
fLocalNetPriority = 1
; C# v! e$ u" C" F* HfStrictFileParsing = 0 7 L; t' O" w! F0 z# V F0 I
fLooseWildcarding = 0
r* W8 V5 N' R' gfBindSecondaries = 1
0 X9 `! Z* |6 Q4 ofWriteAuthorityNs = 0
' G. Q. K( M: B) K9 vAging Configuration:
; h% o( q: A+ D1 ^, ~) CScavengingInterval = 0 * W$ E/ \2 `$ |
DefaultAgingState = 0
0 e3 y) H9 z6 xDefaultRefreshInterval = 168
0 y3 e& f# S, i! vDefaultNoRefreshInterval = 168 & ^: I! m( R$ ?, W$ E/ C
ServerAddresses:
2 m/ A0 ]$ A8 f; _ Addr Count = 1" V1 h4 _# b4 A/ D# X+ |4 }: P
Addr[0] => 172.16.12.1
# s& Y1 H1 B* g O V ListenAddresses: ^* R6 X( i4 \
NULL IP Array.
[2 L# @+ N$ h3 O. ^ Forwarders:, P: a. R0 d. u: n Y
Addr Count = 1( ]6 T5 c. |& s: w/ ?6 v7 H) O9 U) Q
Addr[0] => 172.16.4.3' H$ i1 ]% C: ~9 t
forward timeout = 5
4 y* z4 C; M- L) D2 f& B slave = 0. [: |# N2 H% S3 x2 y) S, X6 [' z
Command completed successfully.命令顺利执行完毕 e9 N) {' P; T! N
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
/ k5 U& g* y; C: S 命令:/Config9 F$ T) h: c# e+ K+ F& D! p
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
( Q: g% y! ^: [; x! Y9 x0 M3 @3 @9 _: e
用法:' S$ X& f1 z# O
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) ^( `/ N' V' X/ N u
参数 `0 W; w e% k; `
ServerName :服务器名称,意义同上 5 y. `2 o6 {9 w: R
ZoneName:! i- c% o# ?, }& g5 o2 I( D
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 5 A; _4 j/ |) E2 n% @ f
Property:
# i' i# [2 t: `3 P1 ? 这个参数是属性。这里所说的属性有:
8 R; ?( S1 z2 i& s' Z5 y+ k9 x: k2 t" z, l 与服务器有关的属性:例如:
( O& X [- q0 `8 `7 f/EnableRegistryBoot9 k# ], ]$ x( G \
/RpcProtocol
$ ^4 R7 r/ |0 p6 C/LogLevel
0 M1 Y- L9 m% L* D; _/EventlogLevel 等等 (限于篇幅未能全部列出)
9 V. d$ A" ~ }2 c% p" f6 C与Zone 有关的属性,例如:& I& Q3 _! R. T/ j6 U
/SecureSecondaries
6 K1 ~3 H& Z* h' d) ]* K! q( F /AllowUpdate
|6 K! ?+ Z; u; y. I# w* `4 }! @ /Aging
+ B7 A3 n: P0 n$ o /RefreshInterval Value5 m0 H) u' `3 P h7 ?9 K4 O
/NoRefreshInterval Value6 _' Y1 K$ g( J6 U
属性值:
- x7 @- f) C" T/ _ 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
# [- ?. r5 U7 ]8 _1 r+ Y0 J从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。5 M% ?+ i0 e/ s7 M7 `, i# x
命令: /Statistics
! B2 ?) k- o1 T: a+ a9 ]( k( a 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。6 G9 n- ?/ z$ n: X
用法: {0 N# B5 }* h
dnscmd ServerName /Statistics [Filter|/Clear]% u4 K6 } I, {
参数:
' G# m& _" j4 }( D% E% q. H; dServerName " A! I3 K, x" C! G) ?! x" n) m: |8 C/ Y
服务器名称,含义同上。
5 T" ?$ @( @$ I F! g% q9 v可选参数介绍:+ u; \: w' g( H$ g. @+ \
共有两个参数,每次只能使用其中的一个。# t7 B0 Z Q3 _
1.过滤(Filter)
5 m4 F, t6 V1 E# }- M* ^ G6 }- | 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。; i3 p6 f( c6 e5 i5 W
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
8 Z. a6 F* `7 q8 K; l$ {6 I) ] 00000001 -- Time
5 W. v1 S% v7 t; g 00000002 -- Query
K) M2 E" Y- F& B& s 00000004 -- Query2
" o V8 e5 K7 T. a 00000008 -- Recurse
$ V/ u4 x1 E; A( G7 a! | 00000010 -- Master
) O9 s& \# N. o4 N. j 00000020 -- Secondary$ S9 {9 U, N- v" R( d4 t
00000040 -- Wins( x* V% o x' E3 ^, `' {. T9 Q& z
00000100 -- Update/ }) w6 z! R* n+ Q' o9 k: F
00000200 -- SkwanSec8 _6 ^+ r9 @3 [- ]
00000400 -- Ds( N' r$ b. b) @+ c* ~. `; {4 j# T& M
00010000 -- Memory2 [4 _8 M [/ \& I5 j0 K2 |+ o
00100000 -- PacketMem
. A4 T# X/ X3 Q 00040000 -- Dbase1 k* |/ R( d b1 X8 o- _* }
00080000 -- Records1 v* o$ W( Z! j! M# R- f
00200000 -- NbstatMem1 L% ~- d8 B1 G
2.清除 /Clear 6 p9 k. c+ w7 E% C' V/ Y' C
这个参数用来清除统计信息。
+ U% w, a. M' }/ A, q 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
# A( E- a" j. h% t r1 ], H6 X7 x
3 q, o5 C4 ~! l9 s ( ~0 G1 {0 Y+ k
2 y/ t8 c; e F
|