本文开始介绍命令的使用方法: 前面在介绍命令格式的时候,已经指出:完整的命令格式是:先是Dnscmd,随后是服务器名称变量,然后才是命令和参数。这里为了节省篇幅,直接从命令开始分析。2 V( o2 X* O Z- j, h2 e
命令: /Info $ Y( d, [/ F y( ~3 U6 @
用途:利用/Info 命令,可以列出指定的DNS服务器的指定属性。显然,这需要在命令参数中指定要显示的属性。如果不指定属性,执行这一命令后列出的将是所有的属性。+ V, b3 O. X4 P9 D. a
用法:
1 I, I5 V# g U7 y dnscmd ServerName /Info [Property]
6 ?9 J* [2 l$ l# @ 参数:# w2 m z0 m( @8 x# E1 R' M% P
ServerName
B! ]$ [9 o- [' } 服务器名称在上一篇中已经介绍过,此处省略。
1 U" D6 {! }/ [* ^) I$ y9 Z* w0 b [Property] 方括号中参数是可选的,这里是指定的、需要显示的属性。如果不指定属性,则命令执行之后将显示全部属性。 M) f. q$ z" D; q
下面是该命令使用的一个比较完整的例子:
) U* J Y2 c5 i7 L, v! h 在执行相应的命令后,系统会输出英文的显示信息。在下面输出的文本中的中文是由本人加入的解释,并不是原输出所带。DNS服务器的IP地址假设为172.16.12.1:
. p4 r6 o* [. u9 Ldnscmd 172.16.12.1 /info 只使用命令而不使用参数1 H6 L g1 p( ^8 B# A
输出的信息:
! {& Y% r- O! I& Q6 ~) yDNS Server 172.16.12.1 Information:, H! c: ]& L: A, F6 d
C:\>dnscmd 172.16.12.1 /info
- m2 T. y" q( k! `Query result: 查询结果
% ]: x% B( `, q, |Server info: 服务器信息
/ p" u& E. G2 D2 y) _ ptr = 00074718 端口* J$ |. @, A# P8 U( W
server name = myserver.microsoft.com 服务器名称
. W7 g3 e# s! a% a1 B* O' o% q version = C2000005 版本0 ?3 h' C w* R+ V5 `
DS container = c DS“容器”: }% ?; |+ r; F8 E1 V5 U
Configuration: 配置信息 这些信息的含义请参考有关资料$ q9 T7 G5 U) S! C- B
dwLogLevel = 000000009 ~. n2 F" Y2 B
dwDebugLevel = 00000000
- K' h# H; G; E6 d8 v2 g9 T dwRpcProtocol = FFFFFFFF4 ?+ d! e1 i: c# I* H& H; z
dwNameCheckFlag = 00000002
; E, `1 t) u3 ? cAddressAnswerLimit = 0
; [1 |' ?. w# x) k! E# D dwRecursionRetry = 3: N* T1 T4 t& a Y D$ o- T# L
dwRecursionTimeout = 152 H. V9 Q7 {. Q& N E# W& y9 e' O
dwDsPollingInterval = 300" } K6 y# I$ k, ~2 h) }
Configuration Flags: 配置标志 这些标志值就是目前该标志所处的状态。其含义请参考有关资料! G: h, i+ l7 n. j5 z
fBootMethod = 3
& g; @) N) t" e, q+ ffAdminConfigured = 1 " g$ x% z2 Y# ^" [
fAllowUpdate = 1
2 _* i( q$ Y9 V8 T* ^/ d: `fDsAvailable = 1
, q" \* o+ R3 v( EfAutoReverseZones = 1
9 N. H8 j+ s2 f, @fAutoCacheUpdate = 0 , `' E3 h- o6 V
fSlave = 0 X; M& G5 d P% \8 O4 ]
fNoRecursion = 0 " y1 J7 a$ F" q# H
fRoundRobin = 1
. `5 \, F L5 W EfLocalNetPriority = 1
4 H* ~5 u9 h4 t. ]& l \0 G G" UfStrictFileParsing = 0 8 ~" a1 a& Q; p" ~1 }3 [/ e8 U( T
fLooseWildcarding = 0 # R* b( A! {* {4 C7 _' P9 j1 `" d
fBindSecondaries = 1
! |4 c' V: ~& U% H" D4 vfWriteAuthorityNs = 0
( X3 e: D$ o6 _4 v5 ]# jAging Configuration:
- j2 a( [& o9 pScavengingInterval = 0 6 G2 [4 t& L. Q, K5 H" ]
DefaultAgingState = 0
+ V' r1 \7 G4 i* D2 @/ PDefaultRefreshInterval = 168 4 N& n% w- X1 j# f, r. i7 }8 X
DefaultNoRefreshInterval = 168
: I# T+ o4 D. H2 g# m. o4 ~ ServerAddresses: # M6 A5 t3 C! l& v+ J
Addr Count = 16 A6 _4 n9 I, e
Addr[0] => 172.16.12.1/ Q5 T) l6 I/ a
ListenAddresses:
U; c2 W+ t& g) h; R! i, a NULL IP Array.
+ _3 x4 B5 _# \( m0 m Forwarders:& x7 w0 F y" y; k
Addr Count = 1
6 z% X0 X( C( ~& n8 Y Addr[0] => 172.16.4.3
2 ^8 a- }. O- d+ H) t+ A- f) c forward timeout = 5
& t! D$ z! Y7 V& o; [ slave = 0
. g4 s& F5 q. W3 h$ ]0 ]' OCommand completed successfully.命令顺利执行完毕
- H7 {) i9 T0 g 笔者所以将此例子完整地放置在本文中,并不为完整地解释每条输出信息的含义,而是为朋友们提供一个观察该命令输出的范本,借以获得感性认识。若你已经对上述例子有了印象,待到自己执行这个命令获得输出信息之后,肯定有“这个我曾经见过”的感觉。因为,在排除故障的过程中,哪怕仅有间接的经验,也比完全陌生强很多。 - E* X/ R2 ]/ T+ M( H7 h1 ]
命令:/Config
9 }9 [8 _! t6 ?% P, h4 r. [ 如果服务器的zone没有指定,使用命令 /Config 可以重置DNS服务器的属性。如果已经指定了zone的名称,则该命令只重置zone的属性。zone的含义是区域或范围的意思。6 |) z& q# ?0 Q7 n3 V7 y# a- J
2 f) {, N) f1 H8 u
用法:
& V8 r/ k) P; v7 ?' K1 r dnscmd ServerName /Config [ZoneName |..AllZones] Property Value
/ \2 k% k/ z5 u2 E* n# y$ v+ ~8 z 参数
. v) Y, S) z; K$ E" P ServerName :服务器名称,意义同上 8 H; `$ e1 o% U! o. y N3 S
ZoneName:
& s7 Z% n' [ H, s3 {2 x" U( D( G" a! M 这个参数指定所配置的区域zone的名字,如果使用..AllZones ,则重置所有zone的属性。如果不指定zone名字,只能重置服务器属性。 , h. g7 ]- C3 \- S; ^' s
Property:
5 W Q: F% G4 e [) R 这个参数是属性。这里所说的属性有:% C! F8 z4 V1 o4 G0 x0 a6 x) y, T
与服务器有关的属性:例如:
, l! i4 V: `1 G% D" C& J& |9 @/EnableRegistryBoot. H) r5 d9 L5 F! O2 W- H- S. A
/RpcProtocol9 Y6 I9 f) E$ f( I3 }7 u8 X: D
/LogLevel
. T7 N7 P3 P8 ?: p$ n, g5 v/EventlogLevel 等等 (限于篇幅未能全部列出)
8 A, e5 ~. N3 H6 i# K1 r! n4 Y与Zone 有关的属性,例如:; I$ t5 z9 ?8 B2 e5 Q
/SecureSecondaries; h: z* `% P+ z# x
/AllowUpdate7 p P8 y4 d4 e( x% A5 Y- u
/Aging" ^' S3 T1 |4 E2 s/ ^
/RefreshInterval Value1 y! J: z/ _5 h. K: g _6 ]) S
/NoRefreshInterval Value
# M8 o6 K# O) _; W3 N3 u" c 属性值:; Y- S/ l* b; Q/ q o# }; Q( m
属性值都是一个双字长的值,即类型为 DWORD ;以0x 打头的十六进制形式 。
7 F5 O0 V& ?5 J# p从命令的参数结构来看,这个命令的用途是重置、实际上也可以理解为修改服务器的zone,因为命令语句的最后可以指定要重置的属性值。指定的值不同,重置的结果也就不同。! g: v, h( i" T! x; i( G
命令: /Statistics
, U" p# N# c) o$ M1 t2 x% ^# ? 作用:利用这个命令可以显示或删除服务器的统计数据或信息。在命令的可选择项目中,有两个每次仅能采用其一的参数,或显示或删除由你自己确定。2 A7 ?, }, E, n% X$ G
用法: W4 N3 [2 L+ u3 s; Y g' `
dnscmd ServerName /Statistics [Filter|/Clear]
9 Z2 c- N4 U( B& l) D 参数:' Q# K+ N5 c8 o" k& s. ~5 s
ServerName
+ R" E. @% s6 ?+ F( ]4 S服务器名称,含义同上。5 V7 ^; x8 R# J) u
可选参数介绍:
% a9 x) Q9 c. o共有两个参数,每次只能使用其中的一个。; k5 N8 V2 v$ q
1.过滤(Filter)
1 m! ^. t6 ?, [$ ]; m& J" g! u 使用该参数,可关联或过滤渴望得到的统计信息,如果不使用果料指定,则默认显示所有的统计信息。
+ `- o3 T% G5 c+ J; g* y可以使用以下的数据来指定过滤的信息,由于大部分的含义都比较容易懂,故此处不再加中文注释。不过应当注意:指定的过滤参数只能是下列之一,不可自己杜撰:
" w4 u- f+ M, W0 o, N 00000001 -- Time
: N( {6 i. |' u, r' k* D1 J R 00000002 -- Query8 Z( G( ?- v; [8 B
00000004 -- Query2
" b4 n3 e, {1 |& U; C 00000008 -- Recurse5 s8 z* n; ]) O& L' z* \) [
00000010 -- Master S1 K% E1 Q+ ~+ k2 {
00000020 -- Secondary
9 g0 n/ w3 E# x. V( O" _ 00000040 -- Wins# @7 V5 t7 f' c% `" ]
00000100 -- Update
# Y& x% @9 M* M: _% v 00000200 -- SkwanSec' i- i/ p+ }. b, f Y: {" z
00000400 -- Ds* P4 h' {% D+ {1 t; W2 I
00010000 -- Memory! G$ s2 `2 D! o( D
00100000 -- PacketMem
; N# c# N5 k$ F, T* e9 u* E( F+ L 00040000 -- Dbase
& |) u$ ^9 ?2 C! I5 p% j 00080000 -- Records
% M* o! W Z% B 00200000 -- NbstatMem5 \# `" ?9 S4 ]
2.清除 /Clear
+ ^- z" ^6 X3 u* {7 U 这个参数用来清除统计信息。* a( k3 O- }1 q2 D
本来,这个命令有一个非常详细的例子,其间有各种统计信息的显示情况和格式。由于篇幅太大,无法附加在本文中。如果你有兴趣研究,请参看支持工具的帮助文档(不是windows2000的帮助文档)。
; Y) [) e; A0 e( e/ ?8 t9 m/ ^( L! M" g% ^
6 J! b: O" D( y8 `) L. g8 C
- x7 @0 A( e' G4 I( x/ G5 z |