本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
$ V% t- u1 C# l* `0 b 命令: /Info
3 }. h0 l! D2 x7 C0 J: v 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。, [) v4 A; m, o. r4 ~
用法:
) F# c+ ^5 E2 a" ]. a0 Q dnscmd ServerName /Info [Property] / f: m7 ?/ x4 k- Q3 ]3 p+ j
参数:
+ j, |4 f1 X6 X7 ^ ServerName
* \9 V4 ?: m! i 服务器名称在上一篇中已经介绍过,此处省略。 6 d% y( o, k4 y8 E5 m9 F
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
; |3 Z2 W; `! J 下面是该命令使用的一个比较完整的例子:( b% m& b/ S j. H, N' R
在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:0 O# @/ B+ D2 D1 a9 {1 ?+ x4 q8 D
dnscmd 172.16.12.1 /info 只使用命令而不使用参数
! ]* V: ~4 v" N8 a5 i输出的信息:
3 d, m7 m7 f" o% Y6 Z- o; N3 O$ w4 k' cDNS Server 172.16.12.1 Information:0 q9 ?4 e3 ~. k8 T4 U
C:\>dnscmd 172.16.12.1 /info p% C7 g+ V, }) P8 m+ U4 B
Query result: 查询结果 b/ d/ I# L3 G0 v# C
Server info: 服务器信息
2 V) q, U0 m) U* O2 M. M7 a, e ptr = 00074718 端口/ F* @; P% D* J! J" u
server name = myserver.microsoft.com 服务器名称2 ~8 g" n, F; ^% l, R% Q/ Z8 k; \
version = C2000005 版本# G* ?/ s+ i6 w5 m9 a
DS container = c DS“容器”
' J; l7 O4 T& Z; a Configuration: 配置信息 这些信息的含义请参考有关资料
; `4 D! R0 p, o R dwLogLevel = 00000000( ]9 |2 y/ F) ?, p. m4 f1 B
dwDebugLevel = 00000000
( W5 l7 O/ n' V" R w* W3 x4 M dwRpcProtocol = FFFFFFFF) C) \1 Q% X8 A8 r$ Z- L% K6 I
dwNameCheckFlag = 00000002( c; m0 s2 M9 Z+ a& I( ]3 K
cAddressAnswerLimit = 0& d, p% T" S/ d; [5 S
dwRecursionRetry = 3
, G( |+ g9 k* T) Y2 s8 C dwRecursionTimeout = 15( B i# k' m3 U/ v
dwDsPollingInterval = 300' o7 d* e' b1 L0 g9 H% R, F
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料
9 d3 n" I0 G8 x/ GfBootMethod = 3 0 S _5 l. A' U( c3 N: m
fAdminConfigured = 1
( [+ A" \! ~9 @( ifAllowUpdate = 1 * d5 \ |# C8 J- e
fDsAvailable = 1
' M6 A4 R) L* {fAutoReverseZones = 1
8 o' U7 y1 V7 d* A) p! ^; TfAutoCacheUpdate = 0 $ h# M, `% k+ d% i3 \
fSlave = 0
+ N1 M$ m( r! i3 @& NfNoRecursion = 0 , C: a; @6 k% p, D/ `. O. S% N
fRoundRobin = 1
7 j+ J( b$ r2 S" N2 B: CfLocalNetPriority = 1 ) d# U% i0 K1 m; I& f
fStrictFileParsing = 0
6 q- l, x5 ?2 Q1 y$ {fLooseWildcarding = 0
2 b" P/ ^: d& I) m. h5 p9 U, lfBindSecondaries = 1 $ q9 H5 |( s0 v: c: d, Q1 l
fWriteAuthorityNs = 0 ! R: C" x' g1 ~& v5 W2 k$ h( r
Aging Configuration:
# `' k+ }: z0 n6 G: \, cScavengingInterval = 0
* C9 z4 F3 y' y1 [3 nDefaultAgingState = 0
# s6 \& p% S" ~7 bDefaultRefreshInterval = 168 0 N* \2 k4 \# x. Q. k
DefaultNoRefreshInterval = 168
- a0 x2 V5 N% p* q ServerAddresses: 5 y3 N% W# ~5 E, M' N
Addr Count = 14 K8 x b0 A9 J( K% x3 g% T" W
Addr[0] => 172.16.12.15 s* H7 U# f/ k$ g
ListenAddresses:0 p$ G/ l1 Z* [
NULL IP Array.
! D4 Y4 r2 E% ? Forwarders:
' H3 Z1 [0 k' C Addr Count = 1
& `" p, H9 w; r6 K8 L" n Addr[0] => 172.16.4.35 k& Q! [( E& s G0 Q
forward timeout = 5
: a/ R) z: w: y4 w& `2 O slave = 05 P9 E/ q! q) \5 W# C# y- T
Command completed successfully.命令顺利执行完毕
6 n: \; y; g& W/ H2 s; a8 Q& I 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。
* \1 {6 \+ b# i# S# n, @ r 命令:/Config- t* |& G7 T2 m
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
0 C. S5 ]: x% a7 J
0 @! t5 q& E0 i( B2 f7 z 用法:
, j1 a$ V& k! @ a' n dnscmd ServerName /Config [ZoneName |..AllZones] Property Value( d4 v+ j2 S# Y N% `- e, @; {
参数+ l; d- k& P! ?# t% P/ H* ]7 X
ServerName :服务器名称,意义同上
9 i9 n, n* v. i9 }( w5 N ZoneName:
/ M) F: i6 Y' N& Q0 Y! ?: [4 q4 e. z 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 - p; P3 Y. P: R7 u1 W( c# ^
Property: - e" [/ A5 ?4 T
这个参数是属性。这里所说的属性有:
- V A. a. Z0 W" S 与服务器有关的属性:例如:
( k$ Q% B0 L8 p, {/EnableRegistryBoot5 `% n) U3 Q8 N& m2 ^- v# n* y# t
/RpcProtocol
% p/ X; P' e1 P5 C/ r3 j/LogLevel+ K+ v* k5 N- p
/EventlogLevel 等等 (限于篇幅未能全部列出)
; x7 S7 t4 {3 x* r/ ^0 Y与Zone 有关的属性,例如:+ g2 C0 i! [- w
/SecureSecondaries5 d' g0 Y; Y Z# b( {
/AllowUpdate
) f) a- H S. L* x6 i% @ /Aging
" B. @& r# L/ u i7 ~* b5 r /RefreshInterval Value
0 B) L# ~* d# q, x, | /NoRefreshInterval Value
1 ?1 J, V- U( Y" b {3 L' v 属性值:: h, w D/ i& _; D. s- I9 L. u( s
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
6 o8 c+ N# M) X从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。8 ^+ N$ v. K3 T* V9 M, {' x
命令: /Statistics
- h7 E, u8 G. E 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
| j! O2 A! Y 用法:
! F: d/ H2 W6 z% H" W" x# s* U dnscmd ServerName /Statistics [Filter|/Clear]
; I" B. f$ g0 M; _* X 参数:
: N" P5 [( e% ~: K" |4 NServerName
" ?2 Y; H1 u5 e5 m2 P服务器名称,含义同上。. M6 m9 \6 m3 }+ E& F
可选参数介绍:
$ b4 Z- w5 b6 x' x% r. o3 W/ ]- f共有两个参数,每次只能使用其中的一个。
& C4 \2 i/ s: _) y$ m: I 1.过滤(Filter)
{' G4 ^! ^3 M$ C; e: n! L6 S" K. v 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
; W. y9 G) o5 d: W5 Z F; @可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: ! N) `* {8 i) j3 t( S9 r) e
00000001 -- Time
* n* w5 I, W8 X5 P( R6 R 00000002 -- Query6 J+ Z1 M- _$ W
00000004 -- Query2) z: {( w$ b6 h! t: o1 ^/ z
00000008 -- Recurse8 t" l7 l: a2 }3 ]4 D. B
00000010 -- Master
' @* Y( Q% R( f 00000020 -- Secondary. J5 b y: i6 X. o+ \! x) _
00000040 -- Wins: r' ]& y8 G: r2 g; I+ j
00000100 -- Update
' w$ G/ ~' z6 C( D 00000200 -- SkwanSec" O- ?/ B2 X8 [1 P4 w
00000400 -- Ds5 x3 V4 [, Z. e# g9 b1 t+ P
00010000 -- Memory" E) _" o- m: _4 ?* F) f
00100000 -- PacketMem
: P3 n7 L& p3 d6 k 00040000 -- Dbase
) t" N+ @ }; R2 F 00080000 -- Records& O) r9 V$ w: q; c- [
00200000 -- NbstatMem
$ f0 s! C+ Z- [: K% B# p 2.清除 /Clear ' i* l$ m w% J' v
这个参数用来清除统计信息。' j; H, p; H; L$ D5 ?1 p
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。6 h% o2 o; L0 t2 N. l' c/ _- D
1 F2 t. N( C. x+ W
7 c i1 L! U2 H; ?9 P
, R- Z I: V* Z$ Z8 ?: G |