本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。7 | ~$ k& l6 c( @3 N' o5 y, W% c
命令: /Info / ?2 I9 B* Z) g- w4 [" a0 _! L
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
6 h" W7 ~( t* C! k2 ]: V6 D 用法:
5 P: O1 ]6 a. q9 H( b% m1 L _% q8 ] dnscmd ServerName /Info [Property] - c7 a7 D$ \) k) R4 o
参数:3 {5 p5 c6 H2 l
ServerName
. _5 l! B$ B/ G' I$ |" Y( ?( S4 i% M 服务器名称在上一篇中已经介绍过,此处省略。 7 v7 G4 a0 {$ \( T' x; V1 R" g0 @
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
; z4 ?! w9 l5 N7 \' N 下面是该命令使用的一个比较完整的例子:
8 l$ {2 D) P3 }5 R5 e 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
) e& j) X) r; D# o- G' [dnscmd 172.16.12.1 /info 只使用命令而不使用参数7 G% }- x! j4 @% j
输出的信息:& H+ s+ {# ]8 f/ W
DNS Server 172.16.12.1 Information:
: v5 x5 K7 |2 y$ y4 o0 EC:\>dnscmd 172.16.12.1 /info
+ t0 m6 a! K" Q) j& M# h7 xQuery result: 查询结果
( K8 W( ~1 Z3 i6 j, s, E8 RServer info: 服务器信息+ B# A$ u4 A4 u+ g: t" s
ptr = 00074718 端口( G! u) I' v; e8 h3 V
server name = myserver.microsoft.com 服务器名称+ W& a/ L# ~: o' Q% B" W5 w+ D
version = C2000005 版本; u) S* `3 w( w) J: W) ^
DS container = c DS“容器”) ?6 A; f. `6 L8 R g
Configuration: 配置信息 这些信息的含义请参考有关资料
6 d: [: A \7 \, ~1 X dwLogLevel = 00000000% k0 k6 @4 y0 `5 Q9 N
dwDebugLevel = 00000000
5 i0 M9 |2 X# H* v* A" @* T dwRpcProtocol = FFFFFFFF/ } r M2 m4 O; q3 C/ ~+ X: m0 S
dwNameCheckFlag = 00000002
' R" A: r/ C+ P$ i. L4 L% t3 d/ u cAddressAnswerLimit = 09 X0 U4 Y& ~ u5 }$ r) O* T4 h6 P
dwRecursionRetry = 3
+ g1 l9 S/ X) |: M/ ~/ A, ? dwRecursionTimeout = 15
. z! L. F- J3 W, G: h) n/ K dwDsPollingInterval = 300$ H, `" [# W: Y! b9 P2 f \/ R
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料& G. Z( A$ C0 F" U
fBootMethod = 3 # v" r; x# e) _8 z: [
fAdminConfigured = 1
5 a7 m; {( g; K- i( CfAllowUpdate = 1 # U, \; d: s F
fDsAvailable = 1
7 w- o9 B& Y C5 s5 V( v; lfAutoReverseZones = 1
4 i# h4 U. B, \fAutoCacheUpdate = 0 % Z8 D: v8 n( j7 g* y( g
fSlave = 0 - A$ Y0 l! A" H+ ?4 w: ^
fNoRecursion = 0 6 o; S; A9 ?2 Q9 x7 {" E; }$ O7 b
fRoundRobin = 1
- q& [2 N' P% V; V# V' AfLocalNetPriority = 1 ; w# L* n# ]: J$ ]( h
fStrictFileParsing = 0 % w* g' N' g! Q0 x5 O8 q/ A
fLooseWildcarding = 0
6 t1 N0 e+ n- W5 E0 IfBindSecondaries = 1 / N' _& s; Q( G' z
fWriteAuthorityNs = 0
8 `* j- V8 n% {! i" EAging Configuration: ( c _" t: o& h- R* l+ e
ScavengingInterval = 0 {4 Q# Z2 F) w. O9 S1 e' v c
DefaultAgingState = 0 1 p8 d9 K' \8 B, W
DefaultRefreshInterval = 168
- h" R3 t, f3 b* }6 Q2 qDefaultNoRefreshInterval = 168 4 ~7 P* S7 s Z/ I0 p4 W3 j
ServerAddresses: 5 \1 G2 T% v7 r
Addr Count = 1! w) w: ]$ _! U1 s" n' f
Addr[0] => 172.16.12.1
; f u1 @0 }0 ~4 l1 H9 V- Q ListenAddresses:" [' x+ L( N2 K
NULL IP Array.+ a, L$ s1 V, P
Forwarders:0 `. s9 Q; T8 o4 [
Addr Count = 1
" s6 P' r+ Z/ m) s3 S, _( [# W8 Q; l Addr[0] => 172.16.4.3
) l2 U& W# ]; j5 B7 a# k5 x! @* ? forward timeout = 5
7 O+ i7 T: E/ Z7 z slave = 0+ Q$ K$ [! O/ Y1 s; u
Command completed successfully.命令顺利执行完毕
# {/ ?$ |0 T: e, T$ X; U 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 + w1 i0 W6 o, ?$ @) ^
命令:/Config
+ O0 c# z+ {# O, T( U 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。4 ? a7 @- a8 u$ g0 |
, c: X- F: q1 N8 M4 O c 用法:$ h+ Z2 E) _2 p
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value5 X+ ]% W. y/ q) n4 L) |
参数, {9 J. V; R4 M) k
ServerName :服务器名称,意义同上 : E k( l$ W9 H9 O5 f, M
ZoneName:
3 C: o1 c4 O: Q+ p* Z/ y/ x3 n j 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
9 v( u; q, `* w- j Property:
* |; g* a5 w+ f0 O' W0 t 这个参数是属性。这里所说的属性有:
! O6 X- @" J: p+ J1 q' a9 b 与服务器有关的属性:例如:' s& f* r( V' \
/EnableRegistryBoot
" a* w" v* W1 l3 j/RpcProtocol
# [6 O" O( M5 I5 e C I/LogLevel
/ u4 w5 G; m7 q) F( N t/EventlogLevel 等等 (限于篇幅未能全部列出)
" [0 u2 V& L. b& B/ ]2 k& m8 D与Zone 有关的属性,例如:
" Z3 N/ f0 b/ ~" D1 { /SecureSecondaries9 G! {9 ^* F+ l; ]* ^
/AllowUpdate" P# T6 g. ? A, N7 e5 C3 y" c2 L
/Aging
" n- d3 T: F' d+ o$ _ /RefreshInterval Value% G: e: W, u1 l& {8 I6 L/ P" U6 b
/NoRefreshInterval Value
! f! H f [7 c: t* H4 _ 属性值:& ]8 t+ d4 U7 W& @$ e5 {- M
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。8 L3 \+ i2 @6 _, d& S! j j/ }
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。3 a6 \$ D( V5 ?3 ?
命令: /Statistics
4 B: v1 R0 O" f4 T. k 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。1 i3 p1 q/ }5 R& ?7 z' g n% t& U
用法:
# n# P* [; x* y1 W3 K+ N" o dnscmd ServerName /Statistics [Filter|/Clear]% E5 l0 r: \) z* r
参数:7 O( t7 b+ P+ {5 W) {. U& u
ServerName 7 ~. @# t% f& s& B& c
服务器名称,含义同上。
# R+ N8 S, p* q! j可选参数介绍:
7 L9 F" ]# H# v5 P% [9 ^# b共有两个参数,每次只能使用其中的一个。+ u/ W8 W I* t% l$ U4 L
1.过滤(Filter)
5 h1 L/ \( [/ _4 h' Z5 u4 ? 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
1 G+ h( `8 E8 X8 E可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰: 0 E" |! {' Z/ u7 E8 h1 t$ O8 n
00000001 -- Time
, i* H6 C3 b4 o$ o7 `' n2 \ 00000002 -- Query
) T& W# H/ x. k4 Z) K" O% [, S 00000004 -- Query27 o3 K5 M2 M. H) z8 v
00000008 -- Recurse& Z8 B; o0 ~$ r' f9 w
00000010 -- Master
3 W$ U' G1 Z. c8 ? 00000020 -- Secondary
: R: X% X8 I9 @% m3 F 00000040 -- Wins3 w3 @5 v" R# }6 I8 f
00000100 -- Update
$ d0 j3 }. |: i" C 00000200 -- SkwanSec, f" v& O& G8 T
00000400 -- Ds
7 B- b& G0 P; Q4 v+ t$ M 00010000 -- Memory
7 O9 V U' V. l. a) j9 i- o 00100000 -- PacketMem
/ |. s3 V. J% Z) D {% }7 p- E 00040000 -- Dbase' `% B6 H, O* N* ]
00080000 -- Records
4 K6 |0 l1 {, o/ D% C 00200000 -- NbstatMem5 J- H1 b: N1 p8 k1 {
2.清除 /Clear
- t9 T) _$ R' d8 R; V7 ` 这个参数用来清除统计信息。
/ ?# P$ l8 h9 ^) D9 Z 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。. k' _# a! C; y3 c
& i/ e' C, Q1 G; E
( F; C- ?( n$ U3 `
& y5 ~" ?+ A( [3 Y& d7 U |