本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
. `- N" z2 t `/ k Q) r! @ 命令: /Info
+ `& K6 s* r+ H8 o$ V 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。1 Q& U( i, v# a& s; l8 }/ E
用法:
4 @* [3 F! h( ?; N dnscmd ServerName /Info [Property] 4 H) P$ P0 |- a0 V3 |
参数:5 q- X9 u1 u: U: g( ?2 S5 w- s6 d
ServerName
. w7 o* M2 O" {; [5 S 服务器名称在上一篇中已经介绍过,此处省略。
- k) \5 r5 y# S0 m7 q1 K [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。- T! Z* f' k" n% R5 C! a
下面是该命令使用的一个比较完整的例子:* j- ?1 Z5 }% E$ Y6 H
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:! c7 Y+ ] f5 I" Z: ^; y& j( U' q
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
3 M& u1 _; k5 [; X输出的信息:) z( F* P- T! B% @; d
DNS Server 172.16.12.1 Information:
o$ w) c/ E+ v4 ?C:\>dnscmd 172.16.12.1 /info- g; b8 _ n7 U4 p; c
Query result: 查询结果
+ B: Y1 y( M" L, G+ JServer info: 服务器信息" i5 p, k' }/ O9 V5 W/ N
ptr = 00074718 端口
N" ^$ t E& |! O% r server name = myserver.microsoft.com 服务器名称* a7 d5 U4 o) x" c6 X+ J; w% k
version = C2000005 版本, Q( O. R* h9 u
DS container = c DS“容器”# O' ^6 k( N5 a8 s" @) z8 L! B
Configuration: 配置信息 这些信息的含义请参考有关资料
, I4 E3 I5 O) q dwLogLevel = 00000000: d9 T( B+ D& S9 z) E C/ d
dwDebugLevel = 000000007 a: X* P8 _( g2 i2 Y8 ~
dwRpcProtocol = FFFFFFFF
! E; _7 R2 S# T2 u dwNameCheckFlag = 00000002" w3 f/ w# v% [+ S1 e
cAddressAnswerLimit = 0
# [8 T/ y0 t+ s3 A/ N dwRecursionRetry = 3
! ?1 u$ O* k" f- y& P4 V5 a dwRecursionTimeout = 15% p& [# ^/ @1 d- Q
dwDsPollingInterval = 300
7 `: ?9 p- _/ c, F. e! e Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料' T$ [) Q5 {9 z& C) w
fBootMethod = 3
9 \' {9 }. P) q' l! Y' O3 afAdminConfigured = 1
- ?7 ^3 K, k' FfAllowUpdate = 1
. a* R9 u2 ^; G2 ffDsAvailable = 1
: g+ a- `/ P& y3 a! e' T( ^* M" ifAutoReverseZones = 1 + ]* @% u' A( J. d+ A4 @! s
fAutoCacheUpdate = 0
7 i5 y$ P6 d3 G' O! |5 zfSlave = 0 3 l2 H8 b* p' \7 ~( u2 }
fNoRecursion = 0
( B% E; z& L! x# JfRoundRobin = 1
! Y, j$ r- r/ \& `( M3 XfLocalNetPriority = 1
# @0 N3 U2 N& k. _4 a& kfStrictFileParsing = 0
8 H* L! D8 ?$ l) B u2 jfLooseWildcarding = 0 ( ~* U; i% O3 V8 ~ J( Z
fBindSecondaries = 1 . `, y- k/ g! K6 d. i3 e3 n& E- K
fWriteAuthorityNs = 0 : i/ z9 |# ?+ C% Y
Aging Configuration:
$ w7 q W' ]! mScavengingInterval = 0 3 W' S' L a r) \* R
DefaultAgingState = 0
# a) _* [6 H: R/ h. T. B$ p \DefaultRefreshInterval = 168
U* t# A# ?4 E, r! KDefaultNoRefreshInterval = 168 $ o# M. D4 O h. b, [. E( M, A
ServerAddresses: 9 }# c8 x+ `: V8 X8 S2 A
Addr Count = 1
) E+ b! F" Y1 c5 Y9 v Addr[0] => 172.16.12.1
( w0 ~/ T* L/ J/ y& E2 Z8 M ListenAddresses:/ ^0 [' p3 {& R, S
NULL IP Array.
1 k5 M; G6 z* {+ c9 o7 \* N Forwarders:
' `: N) Z3 _1 [2 c# _5 }' q$ ^4 c Addr Count = 1
& G& q+ Z" L, L' [5 u. F Addr[0] => 172.16.4.39 E' J0 t- T" y4 u
forward timeout = 5
1 W$ c! K3 i0 A2 G4 F% U& S slave = 0
: N5 U: s7 r$ b5 JCommand completed successfully.命令顺利执行完毕
6 L e7 ]8 y% _8 Y 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
( ^3 E. D P: T! g4 k$ [0 W6 c 命令:/Config
; E0 }& K( t7 ]9 H& \0 G6 s 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。- l9 ~6 L& z1 O4 s
, q& T$ E- p- o* ?" ?9 W* s 用法:
7 M( b1 n2 }8 g$ b dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
% `; K/ p; {* e2 F1 h! w9 _: I 参数
7 d# ?% T1 I1 [) S% D2 J8 h% t) s+ i. {3 q ServerName :服务器名称,意义同上
# R: A+ B: I, F, W9 j ZoneName:
& c. [3 j$ r) |; {4 F9 D 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
& I+ R* ]. f4 W8 [. C Property: . c! M" L: d% \+ X/ o
这个参数是属性。这里所说的属性有:
! W* i1 R$ U" a# { 与服务器有关的属性:例如:' Q7 g7 k8 z. k: t4 r: n8 [) ?" X( a
/EnableRegistryBoot
) l Y. l+ m6 u0 @) \7 q/RpcProtocol
~9 P1 E) R) j/ U$ Z' O& |/LogLevel! S2 A. m% x+ E }. ? S+ F
/EventlogLevel 等等 (限于篇幅未能全部列出)( o7 [ O. n9 P! O
与Zone 有关的属性,例如:% _6 u0 r0 U* I' b d; W5 W
/SecureSecondaries
% \# u, A) K/ f) Z; z /AllowUpdate
6 F- q' B0 Q8 r/ o /Aging
0 E9 |9 M8 Y- G: @ /RefreshInterval Value
9 O3 b* ]& f/ j /NoRefreshInterval Value
7 I1 Z- e! T3 p# s1 w 属性值:
4 n/ g9 i1 J& F 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
$ Q# F3 X$ Q4 p$ |9 [/ N- E& @从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
3 b ~0 d, S& E9 G/ o: w 命令: /Statistics
+ ?7 g: y6 F5 I% G. G- _2 z/ R5 V 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
4 k8 z- g5 |! c5 { 用法:
* _ Z* v4 f' t- U' @1 _ dnscmd ServerName /Statistics [Filter|/Clear]
- B1 V/ o, G) l3 U 参数:
+ t0 U# u2 q1 x( k( T/ |- u+ f0 zServerName 4 W' \1 n6 ?; B Y1 Y1 K
服务器名称,含义同上。+ w+ }1 M& @) |6 |
可选参数介绍:: P5 ^: |! ~# w$ a, G
共有两个参数,每次只能使用其中的一个。
$ m- i, P# i) }. s7 @* X' @ 1.过滤(Filter), O- Z- Z( a2 S. }/ O! ?) f
使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
# m9 Y* `6 I- N可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
9 r: Z# w/ B; ` E 00000001 -- Time
" `7 S+ n8 c3 B; d 00000002 -- Query7 L% [4 M7 c3 _
00000004 -- Query2
7 R ^4 t) H9 N8 C* N3 w 00000008 -- Recurse2 a( I& O; t# F- o! g
00000010 -- Master
- i% W; t- K, Y$ C1 x 00000020 -- Secondary
. x. O# U, s* B 00000040 -- Wins# _$ z6 }* c+ `7 L7 Y4 Y* X
00000100 -- Update
, x. w6 `8 m) W, y( @* b 00000200 -- SkwanSec
% a# F5 |4 ^- Y4 E' g" f 00000400 -- Ds8 K+ K# }! E: d. F
00010000 -- Memory
* g+ T4 {& I# G! c 00100000 -- PacketMem \4 k) a, c" w4 C
00040000 -- Dbase
) y% x5 T0 }4 o V9 r$ o 00080000 -- Records
" J. X$ a! B4 |$ [ 00200000 -- NbstatMem
( H% A1 e. d8 g4 k g+ b! H) J 2.清除 /Clear ; j+ l( w T6 a$ A7 G: }
这个参数用来清除统计信息。- I, G4 P6 j( T0 s7 X! S2 S) h7 m
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
. I' r- |& z2 x. |7 D# }6 `8 x2 Q, H6 Z0 z8 A: ~6 t% k% d
# I# e. O% Y1 c' @" S5 D3 @2 q* y
; d t* n6 K' @0 C! o E |