本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。5 S. G! q8 g4 ^% p Y1 G& F
命令: /Info
& v, m4 C7 e# L3 {7 x/ \( r# R 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
& c8 L0 u6 _8 C 用法:' U. N+ M8 w, n( r" K! Y
dnscmd ServerName /Info [Property]
/ L2 V& {% W5 ^# y6 P 参数:
6 `$ j; f, V1 n1 i3 a' J ServerName
2 u8 j' v. e$ t8 p0 C3 z1 n$ o 服务器名称在上一篇中已经介绍过,此处省略。
6 c3 l! K" J- `$ K [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
# y p3 I5 E: i* P4 c0 e 下面是该命令使用的一个比较完整的例子:
; V6 m" \2 Q# M 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
2 P5 C8 V4 |0 B: X% h$ ]) L2 R2 udnscmd 172.16.12.1 /info 只使用命令而不使用参数
- i( y+ Q9 @5 n输出的信息:
- u$ t5 ~1 j& UDNS Server 172.16.12.1 Information:* c( W# G+ U; l
C:\>dnscmd 172.16.12.1 /info" w2 G; `* C) o& [$ R/ l8 x* R$ E; a- H
Query result: 查询结果
# l/ b% p( T& T, ~4 LServer info: 服务器信息' F$ Z/ l) Q- b, C( L
ptr = 00074718 端口8 B5 Q1 t0 T) `5 q% z/ Y
server name = myserver.microsoft.com 服务器名称
5 |# U+ W4 t. e1 i: N8 e version = C2000005 版本
. U8 [+ }6 t" x* p DS container = c DS“容器”3 J' i1 C& H8 u3 f9 E
Configuration: 配置信息 这些信息的含义请参考有关资料( A9 |0 T9 z2 v( X- W6 l
dwLogLevel = 00000000
1 J- y% y. Z3 [: X dwDebugLevel = 000000003 [$ ]3 Q$ _( ]" \1 `- h- K8 @
dwRpcProtocol = FFFFFFFF
9 e5 p c3 R1 m; k0 ^) }9 M dwNameCheckFlag = 00000002
( F) t6 k K) u+ ~# u cAddressAnswerLimit = 0
" t0 ] g; {) T4 g- w9 _ v dwRecursionRetry = 3
$ I. A8 u' M I0 G; F5 l dwRecursionTimeout = 15
; \1 g/ X. y, b/ h dwDsPollingInterval = 300
! v i( o0 E# H8 C+ y, n% o9 g+ w Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
! T2 y8 S3 |- u" D) B2 R# J- RfBootMethod = 3 7 \& H$ ~( E7 ?* D- s
fAdminConfigured = 1
; M( t6 ^0 v+ W# k+ D afAllowUpdate = 1
2 ]. j1 }9 ^5 [0 O8 U4 r, n, o1 ~* p8 VfDsAvailable = 1
% b3 h# R6 K0 L0 \2 u& ZfAutoReverseZones = 1 ! B' V1 l, K. w3 E( o5 [; U2 {$ W
fAutoCacheUpdate = 0 / k. j! D2 @5 C6 K5 `$ y
fSlave = 0 0 E; Z) q$ T8 L# V7 k9 @( p
fNoRecursion = 0 / Y/ @) m7 Q5 Y+ Q3 T; D3 @
fRoundRobin = 1 + B3 D" {2 H; `/ d
fLocalNetPriority = 1
7 ]7 ]2 I; B6 t- z Y. ufStrictFileParsing = 0
7 D) k. [6 I; Z7 @. ~( T! YfLooseWildcarding = 0
" X& r* a0 I% {) ]5 n1 H) ?1 ]fBindSecondaries = 1 8 X) k& g: ^* O
fWriteAuthorityNs = 0 3 @. C* q% F. R+ h2 |3 ?# m
Aging Configuration: 2 ?7 { k; s0 p% Z* m2 Q( P
ScavengingInterval = 0 ! y3 f7 Z) b$ Z8 P/ E) x; r
DefaultAgingState = 0
# X% @- F n- R. h6 P5 k/ PDefaultRefreshInterval = 168 8 H' L: \' G- h/ a6 U
DefaultNoRefreshInterval = 168 / N! c" v* P6 a3 z
ServerAddresses: 8 z2 y( V4 {) R2 R$ }' Y4 x( z* H7 t
Addr Count = 1( z' z& @0 R$ F
Addr[0] => 172.16.12.1
, U I/ q5 l6 X6 ~ ListenAddresses: l1 f3 V# I; c
NULL IP Array.
f) m+ |6 o; J+ _, ~ Forwarders:
& P9 B9 ]/ G) K B. {# y8 a6 g t Addr Count = 1/ U/ M! D/ R: [, Z" L" F
Addr[0] => 172.16.4.3/ N4 A. X$ E2 i
forward timeout = 5& C) I' A) N# N! [6 y; j
slave = 0' }9 S3 S8 M; p4 {% z, [! F
Command completed successfully.命令顺利执行完毕
# U" j9 |* q2 W L1 { 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 E3 x' h6 j H! C, r+ Q
命令:/Config
! N Y$ x. O1 v 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。3 D8 i. B( K: Q5 ]
( h+ `, E- x! p4 X 用法:
) v# z9 i3 Y( X" i+ ~/ |: g$ v5 V dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
2 k" ?- Q- P6 C' Q. F. u 参数. e5 W9 x# I& U' Z' V
ServerName :服务器名称,意义同上 9 {, g; c* j6 d7 p. @8 M
ZoneName:& I' @& |8 G: }. c7 h! S
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
3 z8 q6 f, L- C/ O7 ] Property:
8 a& _( k2 Z* C# Q. ~/ j" [ 这个参数是属性。这里所说的属性有:
, C" \) {; t+ B 与服务器有关的属性:例如:
. c2 w; h+ L6 x4 v/EnableRegistryBoot
$ P! i+ U4 U/ @/RpcProtocol
; Z+ {* v8 A2 P2 d/LogLevel
r: J* u9 U4 t4 q" G/ h, F6 S5 K/EventlogLevel 等等 (限于篇幅未能全部列出)2 B2 m j) s- g0 Y0 D" ]
与Zone 有关的属性,例如: o. Z) `; `: U# f
/SecureSecondaries
! f9 `9 v O7 o/ G- W- {9 X /AllowUpdate
; H1 K) C2 m" F; r! g7 Q /Aging
% f) { i- B' d8 Y& ? /RefreshInterval Value! y' y7 f/ o" z' A% r/ ^& I
/NoRefreshInterval Value
. t( A* a+ l w4 w6 P" W 属性值:9 T6 A0 f9 j5 {8 s" M) I( X0 y! f% d
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。' Y- ^ `, w4 R, p
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。 n: h6 Q, F( I% H7 ], S5 E
命令: /Statistics0 z V6 H( K( x" h/ n) q8 U
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
0 |/ M; k, t8 u 用法:
! {' Z! n; W; ]& y dnscmd ServerName /Statistics [Filter|/Clear]4 o+ e) N3 B1 w3 `+ F9 z
参数:
0 m$ D) H7 h. c' ZServerName 8 b, s9 W/ J/ p% s
服务器名称,含义同上。1 ]- a, w+ F/ Y: [+ ^3 }6 g
可选参数介绍:
) q# T% j7 Q' Z. W& l' u# y共有两个参数,每次只能使用其中的一个。
3 G* E8 |8 \$ w3 v# Y 1.过滤(Filter)
% u2 U+ R* i; c# A% e2 _3 v% v 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
7 j( A3 t P% F# |% e" G! v可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: * z0 y6 s q; r) ^. M* U
00000001 -- Time
6 Q$ c9 x' }8 B6 q7 A0 n- G; t 00000002 -- Query- u" I( E0 u0 G& I1 {* S1 b6 W
00000004 -- Query25 B7 W& d0 ?% ?7 a4 N
00000008 -- Recurse; D6 R& C# l# L- I/ w: _$ z
00000010 -- Master
, \5 v8 j$ _+ N 00000020 -- Secondary5 h: a& C: ?7 x& \+ G$ @- t7 w* [
00000040 -- Wins& o0 S% M) j% R
00000100 -- Update
r3 K' e8 ]- }( M9 a# X: o" h 00000200 -- SkwanSec
- b" G, s4 R' V V" b3 J 00000400 -- Ds" f. g2 ]3 W2 }9 i
00010000 -- Memory" i! l5 R5 R) ]
00100000 -- PacketMem) j% p& |$ N3 m5 w+ E% w2 [
00040000 -- Dbase" T" R3 H4 }8 I! I4 S- n
00080000 -- Records& [, ^& H: t& R6 F
00200000 -- NbstatMem
& |$ T1 B e3 s. w2 j4 V 2.清除 /Clear
' A* d+ [5 z5 K0 h2 v# e 这个参数用来清除统计信息。 X& h1 y5 a3 w A4 |6 {$ f
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
) C- z. |* T2 O4 G M
" \* I" \! q& u; K; o) f+ q * W5 c- j3 J! d
( r" y0 O2 P0 w, G* I
|