本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
7 Y! Q& F o$ `% ~9 H5 [$ ~4 a5 A5 | 命令: /Info $ k- X4 C& F/ ~. q3 _/ ?/ ?
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
5 l% |9 I1 n; c' D9 O8 r$ L1 V 用法:
# O, Y$ ~2 {- M% x; X) S% Z7 k dnscmd ServerName /Info [Property]
: C$ K* [- R3 g4 L5 B 参数:4 i' A; r, b3 A) H
ServerName
* T7 w9 }6 A* O) i, m8 {8 \2 U 服务器名称在上一篇中已经介绍过,此处省略。
1 N) O$ S( g) E5 T* g- L* L3 V [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
; D' Z5 ?& N" t3 O ^, B3 @ 下面是该命令使用的一个比较完整的例子:. K. D4 E; z7 _
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:4 U3 T8 y1 s$ M; j" ~& r. k
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
8 M3 Z( M+ o& G1 f% i7 D输出的信息:
# f* Z' m, a; IDNS Server 172.16.12.1 Information:
/ ?+ ~6 I9 |7 d0 ?7 H: z) W! pC:\>dnscmd 172.16.12.1 /info! X8 X% ~/ z1 u- E+ B- N; h) A# p% I; L
Query result: 查询结果
0 d9 s P+ O5 M2 C3 h$ K- w6 IServer info: 服务器信息
- X) O' |! G9 m, B- K2 k* T ptr = 00074718 端口
( d- j* X- n! A/ p: Q server name = myserver.microsoft.com 服务器名称5 W! T: f- B4 S |, y4 [( v" }
version = C2000005 版本
# Y' |/ g8 {% |$ |( V4 j1 K h DS container = c DS“容器”
; t9 c ]* I/ n& c9 \6 S% v Configuration: 配置信息 这些信息的含义请参考有关资料
: _8 H( {4 E: u; J) g- Z dwLogLevel = 00000000
4 B9 p4 C8 X( k% X: N dwDebugLevel = 00000000
3 \# [; ]+ C+ e1 r6 C dwRpcProtocol = FFFFFFFF1 ?- y4 U8 H: o/ n: \/ v2 @
dwNameCheckFlag = 00000002! A$ d( F$ E" Q$ W
cAddressAnswerLimit = 0
5 p9 _+ ?* l% C6 N d& B. L6 M1 ` dwRecursionRetry = 3( v6 Z" U* D$ s; T4 M
dwRecursionTimeout = 15
) q' i7 H; q+ a0 t dwDsPollingInterval = 300
, \9 Y% i: _- b0 n" o6 A. p Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料/ {, ?2 j0 G* t3 {
fBootMethod = 3 ' _/ F5 I4 h( `$ w+ h/ u9 l \
fAdminConfigured = 1
+ }( j7 ~5 i2 j$ mfAllowUpdate = 1
, a$ y+ k0 D0 ]/ DfDsAvailable = 1 ) B5 `( N1 W# O! C. ~) J
fAutoReverseZones = 1
9 i# k( @& B' e8 a- N) kfAutoCacheUpdate = 0 % `, z! S5 z, _& x2 u! E- I+ G
fSlave = 0 $ ]6 ?0 Y$ b: F, n0 }! |
fNoRecursion = 0 5 E5 F+ a& Y O! C- F$ Q# l
fRoundRobin = 1 : B+ w3 G, f- I& \6 Q( T
fLocalNetPriority = 1
3 X. D b0 i& S1 t8 [4 V# mfStrictFileParsing = 0 * _8 i8 Z" J- m% u; N5 \: E
fLooseWildcarding = 0
5 Z3 D6 y0 g3 H: MfBindSecondaries = 1
) ]0 {. t( G6 v: v1 o: G3 IfWriteAuthorityNs = 0 ' M G s9 J4 h: a
Aging Configuration:
$ H5 ?- S# ^' @ h- NScavengingInterval = 0 . G5 U% @( Q) T' A, R
DefaultAgingState = 0 - {8 x1 n- ]1 F
DefaultRefreshInterval = 168
$ ]" G+ Z* d$ o, o/ i1 U) ^) p; I: c* @DefaultNoRefreshInterval = 168
9 h, O) F$ T) Z0 e ServerAddresses:
( z; d- u' w) r8 k Addr Count = 1. r+ J+ G; R, l% l, O l
Addr[0] => 172.16.12.1 C, J7 d8 f9 ^0 ?
ListenAddresses:5 Q6 Y7 P9 t$ b# R! @# L
NULL IP Array.
% t! `8 }2 u; v4 q7 d6 A" { Forwarders:
: ]: J7 q) K% M4 b2 y: d* T Addr Count = 1
0 \& m0 s! a2 y* Q Addr[0] => 172.16.4.3
, a! u& M8 r8 N) F! n* ~7 n9 b forward timeout = 5
" ^ @5 U! k6 q4 P4 L slave = 0
+ {" j4 I! g+ D; v) E: m. P3 YCommand completed successfully.命令顺利执行完毕
. B! p' s h- k, c6 K 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 2 r$ I, f8 _9 X A' [
命令:/Config
% W9 N$ C' Y) ]. { 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。* _$ e* v5 P+ o: t) a
! c; E$ p% ^; R7 @% R6 z 用法:
0 Y& O+ j3 }, o0 [7 y' D; t) w dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) r, F5 U+ z R- a
参数
+ T5 U( {; a; }; l ServerName :服务器名称,意义同上
7 r& S" F2 Q$ C e, F ZoneName:5 X3 u% \& z4 k$ n
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 4 K# r/ ~* l$ B; Y* H: v6 D
Property: 5 i1 \! z$ z( W. n7 I3 |
这个参数是属性。这里所说的属性有:
8 N% A6 z! m+ h0 i% W- | 与服务器有关的属性:例如:9 G+ s ^0 \9 H. C- V' s
/EnableRegistryBoot
8 s! O0 u! m2 h. F O9 O' E/RpcProtocol
% G( }! ~- v' J8 T3 G) H7 e- G/LogLevel* c0 _# n: m& {" l' O1 G ]4 [0 U
/EventlogLevel 等等 (限于篇幅未能全部列出); I9 Q7 a8 s; G, x, B9 u* h7 [
与Zone 有关的属性,例如:
$ H5 Y+ H- r" \) v( l2 I /SecureSecondaries8 H* f, q" K0 p) p5 O, b
/AllowUpdate
9 r& ^$ X" s7 I! q, ` /Aging/ M6 ` k9 d$ V2 X: f: u' t
/RefreshInterval Value" d; Q, O1 ^) v5 L7 [$ n& w
/NoRefreshInterval Value
9 @( M( U, R4 j$ l 属性值:0 L2 w. [0 m( b. u! p! B- r
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
. V z' t# c" H3 n& b& U3 K' u从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
- N* g& d& T; x n; x5 X 命令: /Statistics
0 q) A) o9 ?8 o s4 K5 I5 X3 ^! W 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。0 E9 w/ ]9 J+ [! H
用法:/ m; c1 J7 ]- A$ \, C; Q; V: i0 X
dnscmd ServerName /Statistics [Filter|/Clear]5 }. ^: J/ |6 L( Q; F! r9 V' {! p& M
参数:$ R$ ~/ y- M7 R) B, t
ServerName
- [8 \, d; q* I4 V) x& z1 @, U, [服务器名称,含义同上。! n7 j+ S ^4 D3 \
可选参数介绍:
8 f7 i* u# b# C$ C7 p* g, c! ^共有两个参数,每次只能使用其中的一个。! w. p) F/ B! l: n e7 Z& n- @
1.过滤(Filter)
5 t( G8 R/ c$ K* W# ^2 J, | 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
+ Z3 G) c: A6 u/ g7 ?# K* j. f5 {可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 9 L9 d' P$ y1 u( e/ S3 y
00000001 -- Time0 w5 O/ D" S, _8 L6 k$ k0 f
00000002 -- Query; Y# P f' A4 Y5 f5 S. ?5 h) D
00000004 -- Query2% g! s+ @ d" Y- O: H9 E
00000008 -- Recurse. D2 E- p7 |5 Y9 Q& u
00000010 -- Master- u5 M9 X& x0 Y% w2 s$ F
00000020 -- Secondary
+ D6 l5 D( [* v* I7 c: O4 A 00000040 -- Wins
$ m" A! D* j# Z/ H$ V n/ P 00000100 -- Update
, E# K& l' |3 R) F) L( G2 Q( {6 Z 00000200 -- SkwanSec
$ c' k; ^3 \+ a5 E$ Y# v! t5 n& ^ 00000400 -- Ds, s. W7 I$ e, |# y1 l. m9 B
00010000 -- Memory2 v8 m4 S2 E/ E7 T+ H
00100000 -- PacketMem
3 g4 ]) n8 d- G& P 00040000 -- Dbase
+ X8 M1 z6 @8 u 00080000 -- Records
# T2 [* J0 V9 P) m5 O: E& t 00200000 -- NbstatMem! v/ Z0 C! R, q9 D+ ~5 a
2.清除 /Clear - ]" @* `! y) P9 v9 u2 a$ l. \' v
这个参数用来清除统计信息。! a. C, L& J s: W: g3 _7 S
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
6 F+ z8 W1 ?2 l+ k) k; ^7 f" d; |" _- i: ]* f4 R1 u
: G* K* k% H- M: H3 n/ d3 W9 z
7 I4 p3 f G9 ~0 f r9 E) g |