本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。% v( W6 h: y5 K P4 w% B. \
命令: /Info
- U( Q p6 D0 c/ K0 G' I 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
' O$ B+ a' K0 M' ~' @ 用法:
6 j8 |8 d& A- E" {5 A8 I& Z dnscmd ServerName /Info [Property]
: H% i% I2 |9 P 参数:
' c; j# [. c* O ServerName / @) _% C/ D' Z9 J8 o/ ]
服务器名称在上一篇中已经介绍过,此处省略。
' n8 q* ?/ ]+ g! Z" B7 W6 h [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。9 u7 H0 |+ B# d" X( v3 O% q; b
下面是该命令使用的一个比较完整的例子:5 p9 T1 D# P# K
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
: U3 h$ f5 F" N: L, J/ ednscmd 172.16.12.1 /info 只使用命令而不使用参数
0 i& \( f9 m7 a$ G* m" F输出的信息:' y3 u9 d* Q% x) m, _0 T
DNS Server 172.16.12.1 Information:
2 o8 |% g$ N5 ~0 |6 L/ j8 n7 }C:\>dnscmd 172.16.12.1 /info
/ S( r# W' h/ e5 WQuery result: 查询结果
l- I) G; A, J$ N! \0 l& lServer info: 服务器信息- L T+ t! Z( ~" ?
ptr = 00074718 端口
! r5 ?3 A8 G3 y server name = myserver.microsoft.com 服务器名称5 b2 b% X& x0 W* v- e
version = C2000005 版本! a3 N- O( F2 z4 O- Z( H6 s
DS container = c DS“容器”4 @# L; ]* N# C7 \# C6 b8 f+ T
Configuration: 配置信息 这些信息的含义请参考有关资料7 }$ n$ C- X! e
dwLogLevel = 000000008 F* k ^) Z" T, C y1 |
dwDebugLevel = 00000000
1 S: Q' Q1 z N3 F' m" Z. G dwRpcProtocol = FFFFFFFF
4 J& w0 r, m Z7 K+ H dwNameCheckFlag = 00000002
4 X/ v2 S" v Y6 b( g2 w cAddressAnswerLimit = 0 \0 t6 B$ U- \1 Z; \; j* x
dwRecursionRetry = 3
h! P& a# a$ y% C1 b+ d dwRecursionTimeout = 15
/ q7 d' `: v0 X" g8 M1 f' p dwDsPollingInterval = 300
. F6 l0 k! D5 P9 F- K3 z' z1 d4 r Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料/ V* Z9 ^; g! E) a* `
fBootMethod = 3 6 J" D- h% W2 B) J0 P8 o8 v
fAdminConfigured = 1
& M9 r+ l+ n, v* Q9 E6 BfAllowUpdate = 1 & j2 ?( i% @! W, C1 |$ z
fDsAvailable = 1
. e" c' B! q' gfAutoReverseZones = 1 - Y1 ~+ @& W$ @+ }
fAutoCacheUpdate = 0 ( `* E: v& v- {; S: Y! v
fSlave = 0
$ a6 u; S( l% B' {) f2 e: P' G+ IfNoRecursion = 0 : w4 \) |. a5 D. \
fRoundRobin = 1
5 v+ T* r- ?* n9 efLocalNetPriority = 1
8 D/ w" G1 N: f4 i$ KfStrictFileParsing = 0 : U0 G" N: z: o" m+ ?3 h
fLooseWildcarding = 0 6 x& [- f$ t, m$ p
fBindSecondaries = 1 # g" _0 Y; W. z; F! ?
fWriteAuthorityNs = 0 & ]8 y& r3 l; s# x+ n6 s
Aging Configuration:
" Y* o; y( ]/ W1 M+ q2 d8 |ScavengingInterval = 0 + u0 j d! q3 o. G q/ J2 \1 _8 F
DefaultAgingState = 0
# x, w# M2 S5 qDefaultRefreshInterval = 168 0 U6 _- N6 n/ t! J' S
DefaultNoRefreshInterval = 168 " d4 _. _8 E2 X0 ]) |
ServerAddresses:
V2 g ]3 P3 G5 E1 V Addr Count = 1% u( T4 A7 C0 J0 l
Addr[0] => 172.16.12.16 `& c2 h& Z) W8 E1 A
ListenAddresses:3 P k6 i! @: J; b$ D: o( F z6 G8 p% j9 x! F
NULL IP Array.
0 B: |2 L+ o1 |' j. c) h Forwarders:
6 G2 d/ @- \$ i! |2 K2 w( L5 Y Addr Count = 19 Y9 s0 V5 Q8 w+ M% f4 x, a
Addr[0] => 172.16.4.3* D+ d+ Q- Y7 q* ^1 a* T
forward timeout = 58 K: J- y/ ~7 j0 ?7 ~
slave = 02 n& V' J, i3 z7 J5 i: E
Command completed successfully.命令顺利执行完毕 * R! h2 }4 X+ w2 o' I6 L; d: t {/ |$ f
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
2 g: |0 e0 e" O4 w# Q0 z 命令:/Config! m) A: K1 r" Y5 e) M: B
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。7 r5 i% z e& A7 G& m& D
1 w# w/ K& v0 w0 ^! |& y/ t( }) o 用法:
* b+ Z% {( `! o0 X* w: C) L+ n, O+ M dnscmd ServerName /Config [ZoneName |..AllZones] Property Value" n2 \& f( b5 u) V- B1 z% l
参数* s; Q1 J X5 o: a+ J
ServerName :服务器名称,意义同上 # a$ m+ U$ Y& b8 [) ^- z+ v1 h4 ~ i
ZoneName:
" i0 k' {+ P3 t* H% M" g 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 2 u8 z- ?' i) G: w9 `" t/ B
Property: 0 v' b9 ?9 ^5 }* z! }/ j
这个参数是属性。这里所说的属性有:. _) D; r0 q. K# N* h0 E6 W' v
与服务器有关的属性:例如:& A3 e+ M2 q9 G- s+ F4 T
/EnableRegistryBoot
/ e4 o( |* D5 H/ p ?7 T) ], F/RpcProtocol
% U' @$ ^1 w1 w. [ x+ G; b8 r/LogLevel
* k. I+ h+ }7 f/EventlogLevel 等等 (限于篇幅未能全部列出)$ y6 s/ B7 i: Y# j7 u, K5 @
与Zone 有关的属性,例如:
: [6 V5 E; G, G; X" f9 b /SecureSecondaries
% i* D7 W2 a$ n3 q7 M+ }- | /AllowUpdate
+ @! T6 U3 E. x2 r% D /Aging; Y: Q$ j+ H( A
/RefreshInterval Value( z5 W3 @: o0 K0 X' {4 B' _) g
/NoRefreshInterval Value; U- T0 \) A0 ^6 |5 \
属性值:
/ q6 d G, ]* P' z5 M 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
" j" S' j* p" g7 G, _! w从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。: n4 }7 V& D7 S0 w2 l
命令: /Statistics
2 x0 U6 Y3 X2 s9 M 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
$ y8 h/ X8 v" n- [: g! m 用法:
0 `; l! O1 X, N0 `; m/ p dnscmd ServerName /Statistics [Filter|/Clear]5 P0 L" X+ x$ [+ U+ k7 X
参数:
% ^1 c" P; i- P i( S2 AServerName
0 H. c9 e. U& r3 [4 r& T服务器名称,含义同上。2 D; `; z) f6 S% X
可选参数介绍:
( A1 y; _5 T! C共有两个参数,每次只能使用其中的一个。
" {8 M2 _& z9 ` 1.过滤(Filter)
) t8 X8 W- @$ `8 | f* ]* v; } 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。0 e2 W8 `9 r0 w4 Y1 @% [
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
4 a m) h! O: s6 s- Q! Q 00000001 -- Time2 P* `+ g9 I# ^; ]
00000002 -- Query f! L: Z" G! W8 ^& U4 `
00000004 -- Query2
! U. \0 c$ P: L4 j 00000008 -- Recurse
; N0 {& o0 g2 _ 00000010 -- Master. i: p m/ b" n, }
00000020 -- Secondary
* t- ~9 v9 Z3 Q" |, _$ Y 00000040 -- Wins. t, C& x( N, R
00000100 -- Update
/ C$ A% f* g7 T" k: F9 q7 M 00000200 -- SkwanSec4 a: d0 L6 n3 X
00000400 -- Ds3 h0 U: p% ?' Z2 M$ r
00010000 -- Memory
4 N0 U3 ]# h: q& ]5 [ 00100000 -- PacketMem
, W4 f+ M$ F/ j$ T0 ^ 00040000 -- Dbase. u% | A7 y0 S) Z$ l: D5 p2 X
00080000 -- Records5 j5 P! A5 x9 e+ s# c0 c- j, a
00200000 -- NbstatMem
U3 K+ q8 n) q' C- v7 R 2.清除 /Clear / q# x- |8 D E& e/ H5 o
这个参数用来清除统计信息。 S5 Q( W" e, q- J" ^# G8 a
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
" R9 o! h5 U0 L# z. m* g& c+ v) T
8 P' v1 X$ d1 m& I$ U4 I8 A: f/ L* O
|