本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。
0 o7 y! G* Q! L 命令: /Info
9 z! S1 v5 f$ l 用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。
% p4 ]# Q8 P2 E4 d 用法:: I1 n# S/ P/ p6 F
dnscmd ServerName /Info [Property]
6 S" F+ U4 I4 {1 B 参数:1 p1 p" _- L7 L/ O/ Y/ @7 L
ServerName
0 T, j# [3 L3 p% z& m 服务器名称在上一篇中已经介绍过,此处省略。 # j, L! l' H8 A7 e" c+ _
[Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。* H6 o: p; ~0 }) m
下面是该命令使用的一个比较完整的例子:
; ~, `7 p# X7 e6 V- t 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:4 |0 Q, x% I0 y
dnscmd 172.16.12.1 /info 只使用命令而不使用参数6 s$ f/ Y. j3 M0 g9 [& z
输出的信息:7 l$ ?, ^, V+ V8 x! H C( ^3 M
DNS Server 172.16.12.1 Information:9 `5 |* l2 D2 H2 L8 [; _& P2 ]! `
C:\>dnscmd 172.16.12.1 /info, ^! I5 Y& x+ D5 p/ f
Query result: 查询结果9 Y' r4 o: y* [2 e. s9 ^* Q) N* K2 ~
Server info: 服务器信息2 [) N1 d4 v! \/ ^* A2 d6 W1 C, F9 w U
ptr = 00074718 端口
: U; r5 ]1 S4 T2 d; [: k server name = myserver.microsoft.com 服务器名称/ J# |$ u0 ]8 f5 |4 g( @5 v
version = C2000005 版本 I( g$ R+ l2 s
DS container = c DS“容器”* X& ?2 B" B) [/ e/ F" y l }6 ?
Configuration: 配置信息 这些信息的含义请参考有关资料0 s9 a' ~+ t6 R/ \: \
dwLogLevel = 00000000& K0 R" Y, S- n: V! q6 h
dwDebugLevel = 00000000
" e4 a5 b5 n0 `$ D+ s dwRpcProtocol = FFFFFFFF) T. j7 b" x0 x. Z( t
dwNameCheckFlag = 00000002* X+ _' n1 h! B& a
cAddressAnswerLimit = 05 t b2 q. @: L" c. E/ y4 T
dwRecursionRetry = 3+ s3 G6 o2 a) @! {# E8 l* A
dwRecursionTimeout = 15
9 Y& @4 w+ q' K9 [* D dwDsPollingInterval = 300
/ w6 \; v- c I/ M0 H7 I5 D Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料: q) T! ]. g' X
fBootMethod = 3
( w# D( q5 V) R& g" ~fAdminConfigured = 1 * P" s; X" u) G8 z, G
fAllowUpdate = 1
( m/ }0 M8 u _. efDsAvailable = 1 , U2 U! L/ G% ^- P" u, a
fAutoReverseZones = 1 # [6 r% P$ c) q6 q; Y
fAutoCacheUpdate = 0
( e2 v! |* \* H' V HfSlave = 0 7 U0 s' {, r5 q, U& v& P& g. p8 E6 j, P
fNoRecursion = 0 + p. O0 L1 M% }7 j# [7 k |
fRoundRobin = 1
# Y$ U l6 x% C! xfLocalNetPriority = 1 , ^) y) P) P% t* t/ } f
fStrictFileParsing = 0 6 [* \9 ~; k/ `& g, o, v z
fLooseWildcarding = 0
+ V! b9 S5 c) E2 Q- n: U% [fBindSecondaries = 1 5 i- b, U( L- l6 I" P
fWriteAuthorityNs = 0
: ~* F" W z/ lAging Configuration:
8 h3 G* v# U, mScavengingInterval = 0
3 u3 `+ B' f+ \# T; MDefaultAgingState = 0 1 C' z6 R0 x1 e- ^( ~+ V2 z! l q
DefaultRefreshInterval = 168 & z9 l$ C: G5 L+ G! u! z3 V5 p( v
DefaultNoRefreshInterval = 168 : v% o$ C' k7 H* I2 H- h* ~
ServerAddresses:
& J/ f: v$ l+ u0 g Addr Count = 1
- ^$ h9 f$ |3 d- H# M" x Addr[0] => 172.16.12.1 L5 ?/ u) m( s% Y7 j1 v; R
ListenAddresses:6 w8 `: k0 p* J; I3 A2 f
NULL IP Array.
3 M( X6 _$ V6 I& Q* l: R Forwarders:
. c: b. G4 }, ]4 a8 _% T Addr Count = 1
/ W* N0 n1 q+ l9 T" v7 d Addr[0] => 172.16.4.3, u- X) c& f n% j. q) w9 i
forward timeout = 5; x6 T, A6 r) {
slave = 09 _+ m& z0 _9 @8 I( X k0 A
Command completed successfully.命令顺利执行完毕 0 U% k. ]1 C) \- o. I6 T1 [3 G
笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 & l- L! M( `8 {1 W7 `
命令:/Config6 i0 o: e& E6 A7 `% T3 W
如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。
) w1 d' N' N; ], v; j( o: q# H' B$ A" o6 o
用法:# j+ _1 Y$ w) m [
dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
* p( [& d9 n% e( [ 参数! D, K) A3 M: j6 |. X
ServerName :服务器名称,意义同上
: @& m4 f* J7 I( X ZoneName:
U9 ]$ E. W2 L7 h" T% T" D 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。
: O& I; l1 [* L' Y Property: m' i" x$ C4 O3 \8 D- ?
这个参数是属性。这里所说的属性有:
4 H4 U" p. R+ h0 ? J* m2 M 与服务器有关的属性:例如:
6 w5 Q% u2 v3 {" z% `' |( w! U/EnableRegistryBoot
# z! V) }/ B! d/RpcProtocol
3 e$ p9 X1 [4 N9 M3 H5 p1 O' {" C/LogLevel
" h# ]. Y! ^6 a0 j+ F/EventlogLevel 等等 (限于篇幅未能全部列出)9 i) A5 X) C$ o. s& V) `0 O/ t
与Zone 有关的属性,例如:
@+ O0 p% B# p- c) @ H' M /SecureSecondaries
; @. D% s4 e1 L0 g! q; k /AllowUpdate
& r7 X/ A$ N" f( O$ g" { /Aging
) a$ H( v0 v8 f5 g2 @& m. _ /RefreshInterval Value6 `* u2 n9 E& R4 G1 g
/NoRefreshInterval Value
6 `) }7 u' J3 x; l" h 属性值:
. Y: Q; r+ c+ W& u3 h0 E 属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。& R4 ^9 I$ r0 h5 j" G. g
从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。
/ ~! f+ D( v M 命令: /Statistics
# X5 N6 R4 b- F/ W# ^, x 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。$ t# K$ I) U4 b( f8 Z7 k
用法:
5 u# z! s H3 x# _# l dnscmd ServerName /Statistics [Filter|/Clear]' K: S0 I4 y' N+ n
参数:5 N8 T& R9 k. k, ?: o1 f5 b' S
ServerName
- D+ A& T6 g9 R/ |$ w! @- P: @; H- S服务器名称,含义同上。
* \ u o/ Q; H8 Z可选参数介绍:
" s. A* V. Y( r, ~3 w/ F( E6 j8 U共有两个参数,每次只能使用其中的一个。
, Z5 F! g& |* Y( a& q. Y$ i c2 W/ v 1.过滤(Filter)
: K9 L/ K0 `3 U 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。2 ?& O- D5 y* t: [
可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
. t- v7 O2 S0 Y% K9 E5 _- I 00000001 -- Time E0 ?" @+ [, x4 w/ H: Q$ d/ Q
00000002 -- Query2 k8 g4 P1 S, |5 o1 Z
00000004 -- Query2
- k* _; Z6 ]7 \0 T. N6 u8 V6 e, } 00000008 -- Recurse3 x- K* c7 L0 p! u5 h5 T
00000010 -- Master
- ]% R4 N* q0 R/ H( W' z9 @! Y 00000020 -- Secondary+ k& Q) b" H. n4 @4 }4 M# I
00000040 -- Wins
. |0 n2 o6 ?4 e+ r3 p" x) A/ K- E 00000100 -- Update9 ?, K0 I5 A' i* I4 K& d0 K2 D4 d
00000200 -- SkwanSec( Z6 Z4 K9 o1 w( a* o+ \8 x
00000400 -- Ds: p J8 B* u @0 h* H- U5 Z: K: h
00010000 -- Memory/ C' K4 G& q& s0 n6 M: {
00100000 -- PacketMem
* i5 d9 K1 T: i4 q8 }+ } 00040000 -- Dbase
! |/ u1 W% m) e 00080000 -- Records2 O+ O7 A/ r& _
00200000 -- NbstatMem
7 X/ T+ g# E5 T2 f H" z 2.清除 /Clear 8 D/ L g" V* W
这个参数用来清除统计信息。
2 s5 V/ l7 L F9 B 本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。7 p+ O! n: l' ?8 n/ `2 _7 }6 \
+ J. t9 M8 O' Y
c4 s7 ^) t7 p3 S7 Z! {0 H, S( _6 L: ]0 ^) R" g5 [( Q3 ]
|