本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。% p A) s0 v$ g# ?
命令: /Info
A5 A% N8 A) O! C$ x 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
/ d# K7 l1 h% a/ H 用法:* _( M, ^! `- w) b8 o% Z
dnscmd ServerName /Info [Property]
0 r n$ s& f1 O, p- c+ s: i 参数:
! ~, n% o4 D4 z$ o6 B7 k0 N ServerName 5 R! P. b$ o3 w' c1 Y
服务器名称在上一篇中已经介绍过,此处省略。
4 j R* i' m/ S' Q6 @ [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
% ?6 a( m) d8 U+ M3 C* ~4 { 下面是该命令使用的一个比较完整的例子:+ v& W. {. m& Y% x) ~$ r* E
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:$ L, F! W9 n2 j) Z$ j5 K7 l: i
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
: v" L& W1 h* a; y# U输出的信息:
. o( P8 V9 F; z+ i5 X; J PDNS Server 172.16.12.1 Information:
8 A) y" {0 B3 m+ Q2 j8 bC:\>dnscmd 172.16.12.1 /info7 O, j7 E( S# P- M6 R
Query result: 查询结果( i$ B# @2 {2 [2 l
Server info: 服务器信息
" U, y8 Y4 @4 K) l% q! o1 Y ptr = 00074718 端口
: }# n0 a( S8 p8 ] { server name = myserver.microsoft.com 服务器名称
/ D5 x! l. S5 O( w version = C2000005 版本: s. i/ I0 H: i- F* y
DS container = c DS“容器”
% X$ }$ Z u# o1 r9 l Configuration: 配置信息 这些信息的含义请参考有关资料+ F1 ~4 m- Q: F: ^0 f* W
dwLogLevel = 000000005 r. N j8 x1 R- X5 }9 U! Y8 x
dwDebugLevel = 00000000
) z1 ~! F5 Y' G8 s$ A6 X6 q dwRpcProtocol = FFFFFFFF
* p7 G7 g* z, f: o dwNameCheckFlag = 00000002
4 J4 i7 t" t& B% Z( K4 y cAddressAnswerLimit = 0
X* p0 O; l4 u3 d! T8 ? dwRecursionRetry = 3
8 |$ @' p$ \3 ^7 i# a2 ? dwRecursionTimeout = 151 w2 i3 T% T8 @( Q; s
dwDsPollingInterval = 300* ]% p9 Z; |8 t9 r4 q4 M+ R+ x
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料* f2 e$ }6 H5 C: F' H
fBootMethod = 3
2 \( A' [ {/ j3 s" dfAdminConfigured = 1 2 T2 R$ s8 \+ [6 W0 p
fAllowUpdate = 1 # F# R0 T5 a3 w8 M
fDsAvailable = 1
" Y( q* u+ ]: p" Q7 a- EfAutoReverseZones = 1 / T) d% N9 \6 W& B
fAutoCacheUpdate = 0 - p9 s: d2 R5 V4 y D# d# D
fSlave = 0 3 c3 n: b1 H3 y3 {1 r
fNoRecursion = 0 & d- J7 z% l5 P/ i
fRoundRobin = 1 3 i7 h( m6 w6 A. W
fLocalNetPriority = 1
$ v. X, {6 J$ ~5 i5 t! j$ G6 PfStrictFileParsing = 0 & m0 V! ]) P2 ]( L9 k0 a& q' c
fLooseWildcarding = 0 4 x) }+ X7 v0 S9 F$ l* z$ e) @6 I
fBindSecondaries = 1 * I# B8 L2 B; \; B
fWriteAuthorityNs = 0 # \* |. t7 {8 ~: b/ U
Aging Configuration: $ S: v3 W( d& l4 P' o
ScavengingInterval = 0
8 I8 ~1 |$ c/ i0 X8 DDefaultAgingState = 0 2 P7 A4 }& Z, H5 p8 h6 e
DefaultRefreshInterval = 168
. W% S1 T! @: \( ^ a$ LDefaultNoRefreshInterval = 168 # \, d8 Q g4 C3 O- _6 O/ r% Q
ServerAddresses:
1 o9 E4 |( k6 Z- B( {+ X9 t Addr Count = 1# K: C1 q2 W; ^( B2 Z
Addr[0] => 172.16.12.1
: B9 F E; V. H& U ListenAddresses:
% T' r& Y ^9 c, g/ ~( p. W NULL IP Array.
6 e# a; Y% k4 N Forwarders:
, w4 ^ O3 `- U% f Addr Count = 1 s. g3 T# w9 _% Q$ n& }, o+ T# d
Addr[0] => 172.16.4.3
, {! a9 e; O2 _! H forward timeout = 5$ i& q4 }5 B- d
slave = 0
$ |$ s; A4 D2 l# Q( \: X) v0 {Command completed successfully.命令顺利执行完毕
8 `5 g6 n7 S8 m' P. L4 Q5 N! ^& ^ 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 " Z+ X, C- N3 c- m/ j, t! k
命令:/Config+ J2 e2 L; y& E$ H8 H; p# s
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
( n( O0 B% ?) D& C+ q/ @* X! s2 f
, z% G, y* g! Z, B4 t) U) Q& P8 V 用法:
% I: s6 g" Y, r dnscmd ServerName /Config [ZoneName |..AllZones] Property Value) b- ]* l# E- a$ a! M% `4 u
参数
- f* P1 w8 S8 P% f c% V ServerName :服务器名称,意义同上
0 b) G n; J" \& Y. `! N( \0 m ZoneName:. Q$ ?6 g, h) L9 j3 e
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
0 x! Y& v( Z+ D Property:
2 V* D4 p3 S; c 这个参数是属性。这里所说的属性有:- ^4 a9 s& S6 S4 t8 e- U* y
与服务器有关的属性:例如:
: \) B; s! j1 Q! y$ p+ g' s/EnableRegistryBoot
2 q, d( h2 [0 o% a; Y% L/RpcProtocol! I, K7 K( c' t9 _
/LogLevel7 t2 |1 D! A. D7 z k$ s6 t6 z) Z1 s
/EventlogLevel 等等 (限于篇幅未能全部列出)
; ?7 P% D7 E1 o2 a与Zone 有关的属性,例如:3 u1 p! ~# u/ R% |: z0 o# Y
/SecureSecondaries
4 I( i* ^, h' F6 W /AllowUpdate; u, N+ B0 N8 X
/Aging
4 A J( w3 X- C8 g9 ?% l /RefreshInterval Value/ D. Z8 `+ p1 ^6 @- }' z
/NoRefreshInterval Value
: X5 j" T: M3 e$ ~8 h 属性值:$ j2 E: a( Y' @& n. d2 [
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
9 ?5 c3 F" F! P- W从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
9 |) q9 H! L; K" r2 B 命令: /Statistics
( M) S* M) P4 i; R 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
* r4 D& q) R9 H+ z; ^ 用法:7 W6 v# h$ k1 [7 \
dnscmd ServerName /Statistics [Filter|/Clear]
+ ]3 S" q B0 G- Z5 x1 D5 [ 参数:1 | D3 m- Z: Y3 ~
ServerName & C6 ]8 T1 R# X F2 c# y
服务器名称,含义同上。
& F b: s2 S3 c8 s9 w8 V可选参数介绍:5 i: M6 b" s4 Q @
共有两个参数,每次只能使用其中的一个。
5 Y3 d# b9 a% {$ D9 t' x 1.过滤(Filter)
: X; d( h% ^. f. L6 ` 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
0 U6 [$ L. n. u4 e" J3 X+ `4 T* \可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 5 ?; x) ^* ?" T4 R3 s7 w
00000001 -- Time
; G# r+ A! X4 q$ {- c8 \ 00000002 -- Query
9 F# \, c7 v0 a; S 00000004 -- Query28 a* x- R; q5 i$ \2 s" O4 A' |1 M
00000008 -- Recurse6 {& d+ |6 ?# |* C! }, w
00000010 -- Master( F! D% q, o& w& g
00000020 -- Secondary5 X* ]- E4 [' I5 [ s/ V
00000040 -- Wins
4 I: u# q1 i; ~ 00000100 -- Update" p: N; I5 R3 ^4 P
00000200 -- SkwanSec4 x3 Z0 ~% g' y+ o4 T1 Z2 Q# s% D
00000400 -- Ds4 u( j* t9 @* |: J
00010000 -- Memory
; c6 _: k2 G9 O! X 00100000 -- PacketMem7 |% C1 P! p1 ?
00040000 -- Dbase, R6 j a) D) }+ d5 n
00080000 -- Records5 V' d1 E' ?1 s! w: R# _
00200000 -- NbstatMem
7 j L, I; ^0 ^9 B 2.清除 /Clear 4 G- g; _; i: Z( d0 B0 `+ x
这个参数用来清除统计信息。* Y" } L e, B3 F9 o
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。9 L$ D* n! O# b1 H
& m' @( e. c z9 ` S% I . L A: c1 `6 O' K- y1 ?$ [
$ J' U) Y$ l! S |