本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
0 E/ T7 R2 Z! B) Z. n 命令: /Info
) F) z" m+ C% d& ] 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
+ j* g$ `( s, F: s 用法:# J6 @ l4 ^, U \9 L. T- N
dnscmd ServerName /Info [Property] ! Y" r& y; l9 ]. P3 m/ Z8 t) M, u
参数:2 e0 g3 N# I$ m; h+ C5 ~. X9 g! Z+ j
ServerName $ v1 A0 k4 L# k) }* `
服务器名称在上一篇中已经介绍过,此处省略。
; |2 P0 j# a w0 ^! u! @; I0 p [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。
$ b. w5 |( T B; A* Y |2 k; D) k 下面是该命令使用的一个比较完整的例子:
3 R0 Z& c3 }5 ]2 f. x! \ 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
- H9 X2 h) X8 R2 a, S" S/ R# q/ Vdnscmd 172.16.12.1 /info 只使用命令而不使用参数7 u( F$ b' }6 _2 Y; A6 g
输出的信息:
$ }% @* C# A, m1 Y1 U; SDNS Server 172.16.12.1 Information:4 U( _. `/ X; D& s! X- U7 j D0 ~
C:\>dnscmd 172.16.12.1 /info
/ O( m7 x2 E* L- XQuery result: 查询结果
1 l! E( a$ y9 JServer info: 服务器信息
. s3 s1 E/ s9 p! d! _" X9 b* Y ptr = 00074718 端口
1 C2 x$ `$ w. { F1 _6 G server name = myserver.microsoft.com 服务器名称
5 Z/ S/ R1 q: G5 S version = C2000005 版本$ T$ J8 L5 l# V: d+ ^% A2 W
DS container = c DS“容器” O! H, H' ^6 b6 g) L
Configuration: 配置信息 这些信息的含义请参考有关资料0 l3 m( B. u4 U! Z8 r( z
dwLogLevel = 000000007 W8 d6 O- P) V8 s
dwDebugLevel = 00000000
5 D9 k$ D- k9 f. d$ c" N1 Y dwRpcProtocol = FFFFFFFF
- L, f8 W+ M* ?; T5 E( {5 c$ D dwNameCheckFlag = 00000002
! N7 e9 L- H- J+ h* K' a; w( W# { cAddressAnswerLimit = 0
2 M/ e3 c2 c: g1 S! T/ n4 X; D. m dwRecursionRetry = 38 L3 ^2 v% E. F& }2 V4 d+ `
dwRecursionTimeout = 15# z b# H/ k9 ^( c* f4 z
dwDsPollingInterval = 300( {0 {" o+ n, o0 d6 U2 \% U
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料, }* O# O4 S# x! @9 [, p: K( }
fBootMethod = 3 ! |" N& k+ T% Q" M$ L/ R
fAdminConfigured = 1 , P0 `% {; y) B8 n
fAllowUpdate = 1 + Z* F6 Q" v, O
fDsAvailable = 1 3 D' L$ g0 K( T( F ? U/ k6 u
fAutoReverseZones = 1
1 o" R U. w' M% EfAutoCacheUpdate = 0
' I( n5 _- ?: L% Y% gfSlave = 0
. ?- c1 K+ B. A* RfNoRecursion = 0
) k$ k' n( b7 Q9 ?1 n& NfRoundRobin = 1 7 j* x( [2 }8 }
fLocalNetPriority = 1
) d$ X" y, f2 r' [+ F) C2 f5 }4 c' @& TfStrictFileParsing = 0
" g) O$ b# c# _fLooseWildcarding = 0
* L# P, ~, N) qfBindSecondaries = 1
1 L. {+ m1 ]: _+ `; @fWriteAuthorityNs = 0 5 O# S# H; ~, e9 f
Aging Configuration: ; b1 n2 w: L$ a" |6 M1 O0 Z0 a
ScavengingInterval = 0
$ `- t$ u# \2 ~! mDefaultAgingState = 0 5 Q4 E' B* v! K
DefaultRefreshInterval = 168 % ~7 N6 w7 [# D3 }# v. Q" O
DefaultNoRefreshInterval = 168 $ n$ [6 [! O- W" g) u% @4 [
ServerAddresses:
* g5 T. g+ r# U& M `6 \# X# s3 ^* k) P Addr Count = 1
% |/ }* U3 ~5 P% P) x8 ^ Addr[0] => 172.16.12.1( Y- T; K" K) E5 b* y, m5 J" \
ListenAddresses:
3 H# J9 K% t! w3 D1 K7 e NULL IP Array., z6 I7 Q! w1 a9 [
Forwarders:
7 L0 a% @0 v6 ~2 c3 c! u7 A Addr Count = 1* i* n9 \# H( ^) Z
Addr[0] => 172.16.4.3, v h% K3 n6 [, z0 E2 D
forward timeout = 5
_+ H4 a! j% b' D* L slave = 01 S) C$ ?3 H' ]5 N" A) O* ]8 J
Command completed successfully.命令顺利执行完毕
7 o. y1 k* r! h9 X 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 3 n6 W; f* e/ O4 a0 s$ B
命令:/Config
7 C0 }8 V- G; m5 g0 l% ~7 { 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
9 ]8 X# a: Y0 N8 _4 H9 e6 |. z; d c5 \
用法:8 N# p) r0 b" k2 c
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value }; u, r- M! j0 o
参数
$ D# k/ {5 `- q1 `) F ServerName :服务器名称,意义同上
0 k7 H" H# F- U' j' ]0 k ZoneName:: u# ~& L6 z0 L8 x; w* c# _, J
这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 4 n" ~: w9 t& n: V* C
Property:
; M4 k/ ?2 f! ?& H8 p A' e( } 这个参数是属性。这里所说的属性有:
# p8 ^" H! P0 I% R- i, J. n) @ 与服务器有关的属性:例如:6 N1 l V3 L4 L5 P. P+ B3 c- I* A( I) n
/EnableRegistryBoot
+ c, U8 _/ G' B* Z8 @/RpcProtocol
0 f1 V7 j P% d, Q0 P% @/LogLevel5 h- y. S. S6 \1 b# w( }* u- J5 T
/EventlogLevel 等等 (限于篇幅未能全部列出)3 k+ j; E9 s1 g! f
与Zone 有关的属性,例如: }8 H3 y1 e6 z1 [) d
/SecureSecondaries4 n8 ?# R+ I7 b
/AllowUpdate- X4 a1 E* F3 @( i2 @3 L
/Aging
7 T. {( C% d3 s6 D# o: p /RefreshInterval Value
/ C$ a$ D/ _3 U N. h /NoRefreshInterval Value' [& U# O' W0 Y2 B
属性值:, k5 W- u) n$ G# _
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
8 f2 Z/ g6 F2 w2 z- X, ^) X$ F从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
. r J! ~5 C# G 命令: /Statistics; u4 W) z' D/ `7 @0 N, ^; ` H
作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。
! ]; }( O8 i9 s3 `* R 用法:9 v* d5 e2 [5 [/ K
dnscmd ServerName /Statistics [Filter|/Clear]
+ ^5 X1 |5 C: ~6 L' n- d 参数:& b+ }+ l. g: w! f
ServerName
5 [2 d9 y% r7 N* i+ p) e f" v; m服务器名称,含义同上。; I1 h* c0 y8 m+ z
可选参数介绍:* t; Z- S2 ]; \0 y' ]: J+ ]
共有两个参数,每次只能使用其中的一个。 [4 h4 k" r- j+ h
1.过滤(Filter)
_. V1 G" n- o$ j- l! k 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。& e I1 b0 k+ J6 `1 a0 a# x6 b8 u7 L
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
% _8 {- S! ^7 z 00000001 -- Time) m/ N1 \: L! g+ R
00000002 -- Query
, T, k# E7 n! ]; F1 ]& U) U- P 00000004 -- Query2
7 q$ m9 R {7 j) N* g6 } 00000008 -- Recurse, ]5 _3 S" E+ [' I
00000010 -- Master
8 x* T) R8 R1 e! h5 U2 x% L 00000020 -- Secondary
5 Q7 _! z, q- S' `" ?" i9 ~ 00000040 -- Wins
" d/ L% `% w) @ 00000100 -- Update- D; X% @3 B9 r3 |9 b" F4 H
00000200 -- SkwanSec r$ v- o+ l7 h; I" ?! s* D' g
00000400 -- Ds2 y- {& N4 V- X; c! C. h- K
00010000 -- Memory" E1 U$ V' o! r4 W# E* u( \" l8 R$ b
00100000 -- PacketMem
7 o! z- ]& a& G 00040000 -- Dbase; L* W/ P5 {, |# q1 V4 k
00080000 -- Records
) c* Z; G5 r9 N1 E" V 00200000 -- NbstatMem$ W$ U0 \0 n( I0 |; |% b
2.清除 /Clear
2 ?; `& \, F" |+ u$ i8 _% R# y( I 这个参数用来清除统计信息。
: {4 d, n! R8 C% f 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
@4 i) A9 Q( K, ^# b0 j$ A
9 y3 S M5 D5 F- m7 B# K) Q9 o2 \ ; c- P# \/ W* Z: J: Z a
& y D* j& {& ?! u
|