本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。3 l9 q: b8 v9 t; y1 [9 Y
命令: /Info
# l1 t) z1 c# R% [- Z3 O 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。3 s, U5 c8 a( J! S. p* g
用法: z$ A2 V: h2 n; H. g
dnscmd ServerName /Info [Property]
* `7 U0 U6 R$ s 参数:2 F# G9 F/ e* F" u
ServerName
& K/ H9 A) R/ p5 R+ k; \: J 服务器名称在上一篇中已经介绍过,此处省略。 * v( B) W+ t7 c3 }3 t$ y! W. L- V
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
3 x, d8 l( y/ e6 z, v* \" T 下面是该命令使用的一个比较完整的例子:
* D$ d5 J, t! M9 L8 x* ~, L 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:1 o, L; k( @- h% D% E3 h
dnscmd 172.16.12.1 /info 只使用命令而不使用参数) z4 D$ \! K+ S" p2 f% x
输出的信息:3 t3 G% j5 N4 m/ e
DNS Server 172.16.12.1 Information:
3 f U& u! T' Z. t: o6 vC:\>dnscmd 172.16.12.1 /info
$ ` O' t$ U+ y( ~# @& F' i& I- eQuery result: 查询结果2 @4 o- I9 _ Z: o5 p7 T
Server info: 服务器信息
% S) c# _' T) K3 \$ l w5 k: M+ C1 P ptr = 00074718 端口( C& m' Q# T2 e8 i9 e/ o: {/ P! K
server name = myserver.microsoft.com 服务器名称
( a3 Q7 k( s- | s1 [ version = C2000005 版本. F3 G# c. j6 B/ w/ ]" N
DS container = c DS“容器”
# O0 l3 x0 q7 V; ~ Configuration: 配置信息 这些信息的含义请参考有关资料" `) L! L4 U; u9 w5 W
dwLogLevel = 00000000
! S$ {: I @3 L dwDebugLevel = 00000000% ~( @/ C/ M2 j5 F
dwRpcProtocol = FFFFFFFF7 u+ ], g- Y7 D# I0 a
dwNameCheckFlag = 00000002
% e) s: O2 Y( j+ n# u cAddressAnswerLimit = 0' W( c7 d0 H/ \( ]! c6 {) W, Q- {+ I
dwRecursionRetry = 39 j' T' s1 J( d- k
dwRecursionTimeout = 15% r4 B0 k" }5 U5 G2 S) Z
dwDsPollingInterval = 3000 H2 o X0 t; m& q M' M
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
4 |: A V& k' v+ ~fBootMethod = 3
" f' `8 r. d% [) A( S6 V, M% ]5 `, MfAdminConfigured = 1
0 Y% X+ E, j5 q; J( pfAllowUpdate = 1
6 \5 x a& Y$ h) `$ `9 dfDsAvailable = 1
2 X) I0 D# k0 b! D8 [8 VfAutoReverseZones = 1 $ O9 [5 B5 V! B5 x3 U
fAutoCacheUpdate = 0
g: Q- z4 x: U1 W/ _! AfSlave = 0 9 f7 T0 [; `) G; h; k! e% ?
fNoRecursion = 0 ' Q$ T: K0 a) u4 Z) Y
fRoundRobin = 1 3 F7 b1 b( Q$ F |
fLocalNetPriority = 1 # Z5 k% Y5 m0 y+ e" L
fStrictFileParsing = 0
; A& P" N# L9 N# o: z; v& E# w* J' afLooseWildcarding = 0
$ m: u% i' E p- v+ ?. M$ @% QfBindSecondaries = 1 9 `7 k7 t* d I% c' _# }
fWriteAuthorityNs = 0
0 N- d* [9 Z7 b; h/ _Aging Configuration: ( J0 W& b: Z, a* b
ScavengingInterval = 0
$ P* T9 k# n0 m& c' m0 sDefaultAgingState = 0 0 C! f( I: T7 `* F1 P
DefaultRefreshInterval = 168
3 c8 W% f0 g; m7 L+ HDefaultNoRefreshInterval = 168
" M* J5 z3 I- S# w( ~9 k ServerAddresses:
- O% n8 |3 M# z' d! N Addr Count = 1
& X2 M) E, W4 H/ l( Q# j5 b Addr[0] => 172.16.12.1
; L* w* S' \2 | ListenAddresses:/ z4 `3 D I0 s) i9 }) H+ J
NULL IP Array.
, \! A0 \$ O5 S# a% }# f m Forwarders:" {2 ?% A [' C2 V9 k2 Q8 p
Addr Count = 1) V! L- w2 @7 N) y! A, O) n
Addr[0] => 172.16.4.32 H& I( m7 M) P: i
forward timeout = 5
. s. a9 I& ?$ H; o& Y slave = 06 J- {& ~' f- g! ~5 F& [ I% t
Command completed successfully.命令顺利执行完毕
/ U. y! b+ o# [4 o9 s/ H 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 . x5 _" ?- v" @2 s. e
命令:/Config; G/ k$ w# e6 Y7 {
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
: z. h0 E+ g9 x, l+ g* r$ A
1 K; W! A4 G* `0 Q" ] 用法:
% N! F1 w3 e2 H9 U' C! a" t$ e dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
: R7 c! U( l. D& S 参数
7 ?- G/ x5 @, G. b ServerName :服务器名称,意义同上
4 }; g( J% A2 t' X7 R5 k) Q- I ZoneName:
% h% x) J' n# p! | 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 4 F5 A- y6 M9 b C& K" ]' K5 d
Property: . h4 I/ l0 T# C* K
这个参数是属性。这里所说的属性有:
/ v7 [2 K5 r- X0 t4 _ 与服务器有关的属性:例如:
9 \9 z4 s' L" g( r/EnableRegistryBoot
+ b2 w# w0 W: f/RpcProtocol
+ l- ]4 L5 r7 K w% B( s. D' N/LogLevel- I6 c/ X7 O3 [; V5 B) z/ I+ }
/EventlogLevel 等等 (限于篇幅未能全部列出)
" F* t+ P; C& w X8 ~2 P+ J1 A/ J与Zone 有关的属性,例如:
% W8 f8 L/ s. \8 Y' B) b /SecureSecondaries
/ k+ m4 v* }: b1 K- Q% h /AllowUpdate
+ a" N' j9 \( q# p. m I /Aging7 G( p2 P: D0 Q
/RefreshInterval Value' @3 V+ q2 k6 j& [1 y
/NoRefreshInterval Value5 e y3 ?' P( j/ v6 r7 ]: z# r
属性值:
' j8 G2 o/ g7 e. \% ~! ^0 e 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
5 F0 X5 b2 @' W# E2 {& y0 f从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。, o: C2 W2 x- }8 X
命令: /Statistics
D/ E/ ]: G; E! p0 i 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
8 R w% a8 _3 r f ] 用法:4 M5 Z+ `# Q" w+ B
dnscmd ServerName /Statistics [Filter|/Clear]# ^4 v, X c+ j+ H! g
参数:
# E3 i( T7 i( t& d9 M( B/ V" mServerName % K+ U0 {6 _( o( Y/ H1 i
服务器名称,含义同上。
6 W' \+ T0 D3 ]3 I可选参数介绍:1 W3 h7 \$ C1 G& ^0 T' m9 K
共有两个参数,每次只能使用其中的一个。- K, v3 G) r$ r, q1 m
1.过滤(Filter)# ?9 i9 d+ ], M( {( `' N
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。, d& ?, a; d+ Q3 {- n, }. m
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
( R6 u' q' P" c. c8 {% b6 | 00000001 -- Time* X% {/ ?1 W1 {
00000002 -- Query, ~$ v* F0 {' W/ o8 V0 Q$ z
00000004 -- Query2
# S& `" ~9 Y' K% _% m 00000008 -- Recurse4 m% c& P# F% G
00000010 -- Master
- ?1 X& _& F3 h, B 00000020 -- Secondary5 @1 o X# s7 X8 B; p
00000040 -- Wins7 e( w# j5 l' E+ Y- O ~
00000100 -- Update
" L' @8 T& O1 N9 X3 B 00000200 -- SkwanSec$ J# p- N# S" T) L! g/ P; j$ v! K
00000400 -- Ds) _ h1 u7 J: ~) {
00010000 -- Memory
2 m$ o" p6 k: T' u) U, O% C 00100000 -- PacketMem
, g: k* x! }4 ]$ e" {( m, D 00040000 -- Dbase
2 F, V O$ h% Q- G 00080000 -- Records
/ J5 P) @# K6 r) F9 Z2 J$ C/ `- q 00200000 -- NbstatMem) i6 ?3 `# ]' @9 q7 o
2.清除 /Clear 7 f7 W* M1 F5 o% v; ]
这个参数用来清除统计信息。
# y% w3 k/ R- I& C0 m: J0 E9 m 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。, E/ d. I! T8 ~, ^3 |+ q# e
4 j: H5 z, N0 K& G' T6 Y 9 T3 N4 I/ ~9 X8 I
' X" Y. K( x& Q, ?2 `$ t |